基本的hello world服务器和Xmlhttprequest客户端 - 状态始终为0

时间:2014-01-25 16:49:58

标签: javascript node.js xmlhttprequest

我刚刚开始搞乱网络编程。我有这个基本的Node.js服务器,它提供状态代码为200的“Hello World”,以及一个接收请求和状态警报的客户端页面。节点服务器:

function start(){
    function _handler(request, response){
        console.log("request received");
        response.writeHead(200);
        response.end("Hello World\n");
        console.log("response sent");
    }

    http.createServer(_handler).listen(8080);
    console.log('Server running at http://127.0.0.1:8080/');
}

start();

和客户端javascript:

function httpGet(theUrl){
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();

    xmlHttp.onreadystatechange=function(){
        alert(xmlHttp.status);
    }

    xmlHttp.open( "GET", theUrl, true );
    xmlHttp.send( null );
}
httpGet("http://127.0.0.1:8080/");

但是,警报只响应状态为0,状态为原状态的三倍。我浏览器导航到服务器位置似乎工作正常,因此问题似乎在客户端。

1 个答案:

答案 0 :(得分:1)

您的代码看起来很好。

因此该问题可能与跨域XMLHttpRequests有关。您可以在浏览器中添加标头Access-Control-Allow-Origin或禁用这些安全检查以用于开发目的(在Chrome中通过--disable-web-security)。