XMLHttpRequest.status是" 0"对于AJAX请求

时间:2017-10-19 19:52:20

标签: javascript ajax xmlhttprequest status

我正在尝试在Javascript中创建一个从条形码数据库API(http://upcdatabase.org/api)获取数据的应用程序。当我发出AJAX请求时,GET请求正在进入API。我可以从API的网站上看到我已经提出了多少请求。

但是,我得到了" 0"的XMLHttpRequest.status。每次都在Firefox,Chrome和Edge上。我有一种感觉,我错过了一些东西,因为这是我第一次这样做。

以下是我使用的代码:

var upc = prompt("Enter UPC Code:");

var requestUrl = "https://api.upcdatabase.org/product/" + upc + 
    "/73114EC2F9C47240583DBF3AA190CB4C";

function httpGetAsync(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            alert(xmlHttp.responseText);
    }
    xmlHttp.open("GET", theUrl, true);  
    xmlHttp.send();
    alert(xmlHttp.status);       
}

httpGetAsync(requestUrl);

感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:-1)

来自documentation

  

在请求完成之前,let myLabel = NSTextField(labelWithString: "A Label") myLabel.drawsBackground = true myLabel.backgroundColor = NSColor.green 的值将为0.

status之前请求尚未完成,因此如果您在测试成功之前登录readyState == 4,则0是正常的。试试这个:

status