【发布时间】:2015-09-20 20:17:01
【问题描述】:
我有两个节点 js 服务器在 localhost:3000 和 localhost:3001 上运行。当我从 localhost:3001 向 localhost:3000 发出 ajax POST 请求时,没有任何反应。我检查了 localhost:3000 上的日志,它甚至没有收到 POST 请求。
这是我进行 ajax 调用的代码:
$.ajax({
type:"POST",
url:"http://localhost:3000/post/",
contentType:"application/json",
dataType:'json',
data: JSON.stringify({name:'Bruce Wayne'}),
success:function(response) {
console.log(response);
}
});
但是,当我删除 contentType 字段或将其更改为“text/plain”而不是“application/json”时,它可以工作。在 localhost:3000 上,我也在响应中发送这些标头。
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
我已经解决了很多关于 SO 的问题并尝试了所有方法。有人可以帮我找出问题所在吗?谢谢。
【问题讨论】:
标签: jquery ajax node.js express