Javascript XMLHttpRequest.status始终返回0
htmlJavascript XMLHttpRequest.status始终返回0,javascript,firefox,xmlhttprequest,Javascript,Firefox,Xmlhttprequest,html ajax.status始终返回0,无论它是哪个站点,也不管实际返回的代码是什么。我说“实际”,因为ajax.statusText返回正确的值,例如OK或重定向 ajax.readyState也会返回正确的值,并在末尾返回4。您的站点是其中的一部分吗?否则,XMLHttpRequest将由于以下原因而失败 此外,如果页面作为非HTTP请求使用,则状态可以为0。请参阅。您可以在本地环境中通过设置php代理(xampp服务器并传递要获取的url的查询字符串)轻松克服这一问题。让您的php代理
ajax.status
始终返回0,无论它是哪个站点,也不管实际返回的代码是什么。我说“实际”,因为ajax.statusText
返回正确的值,例如OK或重定向
ajax.readyState
也会返回正确的值,并在末尾返回4。您的站点是其中的一部分吗?否则,XMLHttpRequest将由于以下原因而失败
此外,如果页面作为非HTTP请求使用,则
状态可以为0。请参阅。您可以在本地环境中通过设置php代理(xampp服务器并传递要获取的url的查询字符串)轻松克服这一问题。让您的php代理设置url并回显其内容。这样,您的本地html文件(当被视为时)可以全天向域外发送ajax请求。只是不要期望内容像是该域的本地内容一样工作
<a href="#" onclick="MyObj.startup()">click me</a>
var MyObj =
{
startup : function()
{
var ajax = null;
ajax = new XMLHttpRequest();
ajax.open('GET', 'http://www.nasa.gov', true);
ajax.onreadystatechange = function(evt)
{
if(ajax.readyState == 4)
{
if (ajax.status == 200)
{
window.dump(":)\n");
}
else
{
window.dump(":(\n");
}
}
}
ajax.send(null);
}
}