【发布时间】:2014-12-19 16:08:51
【问题描述】:
我正在尝试使用客户端上的 JQuery 和服务器上的 node.js 运行基本的 Ajax 调用。 客户端从与处理 Ajax 请求的服务器相同的服务器加载 - 但我收到 在客户端出现此错误:
“XMLHttpRequest 无法加载 .... 请求的资源上不存在 'Access-Control-Allow-Origin' 标头。因此,Origin ......不允许访问。”
我认为这里肯定没有违反同源政策?也许本地主机的处理方式不同?
服务器:
httpListen.createServer(function (req, res) {
....
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('_testcb(\'{"message": "Hello world!"}\')');
}
客户:
$.ajax({
url: "http://127.0.0.1:1337/",
data : {formType:"ajaxTest", key1:"val1", key2:"vall2"},
formType:"ajaxTest",
jsonpCallback: "_testcb",
cache: false,
timeout: 5000,
success: function(data) {
$("#textBox").text("replied");
},
error: function(jqXHR, textStatus, errorThrown) {
alert('error ' + textStatus + " " + errorThrown);
}
});
这是在此处第一个回复的指导方针之后写的: how to use jQuery ajax calls with node.js,但我是 仍然收到上述错误。
编辑:发现问题:使用 localhost 而不是 127.0.0.1,工作正常...
【问题讨论】:
标签: jquery ajax same-origin-policy