AJAX调用期间Node.js响应问题

时间:2012-08-19 12:30:24

标签: jquery ajax node.js

也许这似乎是一个真正的noob问题,但我无法弄清楚我做错了什么。我想要完成的是一个简单的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我得到的是响应标题但不是内容。在Firebug的控制台上,AJAX调用也会变红,尽管它显示“200 OK”。我知道我错过了什么但却无法弄清楚是什么。

2 个答案:

答案 0 :(得分:2)

您是否也在端口8666上运行您的网络服务器?根据您的代码判断,您所有的NodeJS服务器都提供单个答案,所以我猜不是。 您无法对其他端口进行AJAX调用,即使它是相同的主机(在您的情况下为localhost)。

答案 1 :(得分:0)

由于same origin policy而无效。

可能并不明显,但浏览器也会将策略强制执行到端口号。

所以http://example.com:80http://example.com:81

不同

您可以使用jsonp解决问题。