Javascript 如何读取XMLHttpRequest响应

Javascript 如何读取XMLHttpRequest响应,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我正在做一个XMLHttpRequest,如下所示: var url = "myurl.html"; var http_request=new XMLHttpRequest(); http_request.onreadystatechange=function(){ if (http_request.readyState === 4){ console.log(http_request.response); } }; http_request.withCredentials =

我正在做一个XMLHttpRequest,如下所示:

var url = "myurl.html";
var http_request=new XMLHttpRequest();
http_request.onreadystatechange=function(){
  if (http_request.readyState === 4){
    console.log(http_request.response);
  }
};
http_request.withCredentials = true;
http_request.open('GET',url,true);
http_request.send(null);
在控制台中,http_request.response是空的,但是当我在Chrome中查看networks选项卡时,我得到了这些东西


如何从JavaScript获取这些内容

请求来自同一网络上的不同计算机。位于
myurl.html
的服务器不允许“访问控制允许来源”。为此,响应的标题中必须有如下内容:

var url = "myurl.html";
var http_request=new XMLHttpRequest();
http_request.onreadystatechange=function(){
  if (http_request.readyState === 4){
    console.log(http_request.response);
  }
};
http_request.withCredentials = true;
http_request.open('GET',url,true);
http_request.send(null);
访问控制允许来源:*

(*代表)

当标头缺少该信息时,Chrome将阻止JavaScript中的响应。因此,“网络”选项卡将显示响应,而不是JS控制台。要在不同的浏览器中绕过COR,有几种方法。我使用了Chrome网络商店的一个扩展

为了进一步确保请求正确完成,可以将回调函数修改为:

http\u请求。readyState
应为4,但状态应为0(即使在网络选项卡中显示为200)