我有一个AngularJS前端与Node / Express / MySQL后端通信,除了POST请求之外,所有请求都运行正常,这是我的Angular Code:
var Data = $resource('http://127.0.0.1:9001/api/data_user');
var newData = new Data({'data_id': data_id});
newData.test = 'whatever';
newData.$save(function (data) {
console.log(data);
});
我已经采取了我常用的调试步骤,删除所有代码,直到某些工作正常,但即使这样也无效(来自客户端):
app.post('/api/:table', function (req, res) {
res.send(200);
});
我以前在那里有一个MySQL更新语句,它正在正确执行(有错误检查等),但是前端只是等待响应来了:
(Chrome Dev工具): data_user / API POST (待定) 未决
令人烦恼的是,CURL工作正常:
$ curl -i -X POST http://127.0.0.1:9001/api/data_user --data '{}' -H "Content-Type: application/json"
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/plain
Content-Length: 2
Date: Mon, 31 Mar 2014 09:54:21 GMT
Connection: keep-alive
有没有人有任何想法?如果需要,可以发布更多代码
答案 0 :(得分:1)
您是将您的页面视为127.0.0.1还是localhost?您可能正在使用CORS CORS。这可以解释为什么cURL有效但如果您将页面视为“localhost”但发布到127.0.0.1
,则页面的POST请求不起作用