在AJAX调用期间的Node.js响应问题
也许这似乎是一个真正的高手问题,但我不明白我做错了什么。 我想要完成的是一个简单的AJAX请求。 这是我在服务器端的代码:
http.createServer(function(request, response) { response.writeHead(200, { "Content-Type": "text/html" }); response.end("No data to return."); }).listen(8666);
在客户端我使用jQuery:
$(document).ready(function() { $("#magicSend").on("click", function() { $.ajax({ url: "http://localhost:8666/", type: "POST" }); }); });
问题是,根据Firebug我得到的响应标题,但不是内容。 虽然它显示“200 OK”,但Firebug控制台上的AJAX调用也是红色的。 我知道我错过了什么,但不知道是什么。
你是否也在端口8666上运行你的networking服务器? 根据你的代码判断,你所有的NodeJS服务器都提供了一个单一的答案,所以我猜不是。 即使它是相同的主机(在你的情况下是本地主机),你也不能对其他端口进行AJAX调用。
由于相同的来源策略而不工作。
这可能并不明显,但是浏览器也会执行到端口号的策略。
所以http://example.com:80与http://example.com:81不同
你可以用jsonp解决它。