Javascript XMLHttpRequest.status始终返回0

Javascript 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代理

html

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);
    }
}