【发布时间】:2018-08-03 01:24:24
【问题描述】:
我正在开发一个 web 应用程序,前端使用 ReactJS,后端使用 express。我正在将我的应用程序部署到天蓝色。
为了测试我的请求是否通过,我编写了两个不同的 API 请求。
第一个很简单:
router.get('/test', (req, res) => {
res.send('test was a success');
});
然后在前端我有一个按钮,单击该按钮发出请求,我得到响应“测试成功”。这每次都有效。
第二个测试是:
router.post('/test-email', (req, res) => {
let current_template = 'reset';
readHTMLFile(__dirname + '/emails/' + current_template + '.html', function(err, html) {
let htmlSend;
let template = handlebars.compile(html);
let = replacements = {
name: req.body.name
};
htmlSend = template(replacements);
let mailOptions = {
from: 'email@email.com',
to: 'someone@email.com',
subject: 'Test Email',
html: htmlSend
};
transporter.sendMail(mailOptions)
.then(response => {
res.send(response);
})
.catch(console.error);
});
});
然后,当我部署应用程序时,我会调用这些测试中的每一个。就像我提到的,第一个总是成功的。应该发送一封非常简单的电子邮件的第二个大部分时间都失败,并出现错误“iisnode在处理请求时遇到错误。HRESULT:0x6d HTTP状态:500 HTTP subStatus:1013”。奇怪的是,每隔一段时间就会发送电子邮件,但这种情况很少发生。大多数情况下,在发送错误响应之前,该请求需要整整两分钟。
我应该注意,当在 localhost 中进行开发时,两个测试一直都可以正常工作,没有任何问题,只有在生产中(部署到 azure)才会发生这种情况。
过去几天我一直在四处挖掘,但一无所获。任何帮助或指示将不胜感激。
【问题讨论】:
标签: javascript node.js reactjs azure express