我最近在heroku部署了一个快速应用程序,在本地工作正常。现在,在heroku上,我进行ajax post调用的部分正在打破500内部服务器错误。
在我的JS中,我的POST调用如下所示:
$.post('/api/', {
'input': 'input'
}, function(data) {
if (!data) {
return console.log('success');
} else {
return console.log('failed');
}
});
它被像这样表达(我在这里抽象):
app.route('/api/')
.post(function (req, res) {
var input = req.body.input;
x.doSomething(input,function (err,data) {
res.send(err);
}
});
经过一些谷歌搜索后,我怀疑它可能与Access-Control有关,所以我在我的快递应用程序中添加了一些代码,这些代码可以从任何地方启用Access-Control-Origin。这停止了500个错误,导致帖子挂起,然后在30秒后超时。
我认为这与Heroku有关,因为它在本地工作正常。任何建议都会非常有用。
**编辑**
我已经做了更多的挖掘,事实证明这是导致所有麻烦的行var = req.body.input
。如果我删除它,我不会出现500错误。另一个线索是,在500错误的细分中,似乎存在某种交叉域发送 - 错误的第一行中的jquery状态:l.cors.a.crossDomain.send
。所以有些事情在这里显而易见,我很确定这与我编写ajax调用的方式无关......