我刚刚开始搞乱网络编程。我有这个基本的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,状态为原状态的三倍。我浏览器导航到服务器位置似乎工作正常,因此问题似乎在客户端。
答案 0 :(得分:1)
您的代码看起来很好。
因此该问题可能与跨域XMLHttpRequests有关。您可以在浏览器中添加标头Access-Control-Allow-Origin
或禁用这些安全检查以用于开发目的(在Chrome中通过--disable-web-security
)。