Javascript 如何读取XMLHttpRequest响应
我正在做一个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 =
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)