Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 节点/快车未响应POST_Mysql_Node.js_Angularjs_Express - Fatal编程技术网

Mysql 节点/快车未响应POST

Mysql 节点/快车未响应POST,mysql,node.js,angularjs,express,Mysql,Node.js,Angularjs,Express,我有一个AngularJS前端与Node/Express/MySQL后端对话,除了POST请求之外,所有请求都可以正常工作,下面是我的角度代码: 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.l

我有一个AngularJS前端与Node/Express/MySQL后端对话,除了POST请求之外,所有请求都可以正常工作,下面是我的角度代码:

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);
});
我已经采取了我通常的调试步骤,删除所有代码,直到有东西工作,但是即使这样也不工作(从客户端):

我之前在那里有一个MySQL update语句,它被正确执行(带有错误检查等),但是前端只是在等待响应:

(Chrome开发工具): 数据用户 /原料药 邮递 (待定) 未决

令人恼火的是卷发效果很好:

$ 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

有人有什么想法吗?如果需要,可以发布更多代码

您是以127.0.0.1或本地主机的形式查看页面?你可能会遇到CORS。这就解释了为什么当您以“localhost”的形式查看页面,但发布到127.0.0.1时,cURL可以工作,但是来自页面的POST请求不起作用http://127.0.0.1:9001/api/data_user);否,复制和粘贴是我的错,我在应用程序中以编程方式访问表,如:var Data=$resource(“”+表);但是我在前端或后端都没有JS错误。所以我假设在您的devtool中,您会看到有POST to
http://127.0.0.1:9001/api/data_user
。可能您可以添加通配符
app.post('*')
来捕获所有请求并打印一些有用的跟踪。因此我知道我正在使用/api/:table调用,因为使用断点,我会回显req和resp对象,但它们看起来很好-我可以添加状态码等,当然也可以卷曲相同的对象。也许可以尝试
res.json()
而不是
res.send()
?也许angular对它在html头中接受的内容很挑剔?或者在节点中设置内容类型。。。?这是不可避免的,科尔斯。我应该提到我在两个端口上运行了两台服务器,但我不想提及该死的CORS,因为我认为我已经正确地解释了它(在代码中的14个不同位置)。结果证明我错了。从来都不是密码对吧?总是程序员。。。现在修好了,谢谢!
$ 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