http得到处理404错误

时间:2017-08-30 01:18:33

标签: javascript html ajax get

此函数应该在一切正常时返回数据,并在收到404错误时返回0。

function httpGet(url)
    {
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                return xmlhttp.responseText;
            }
            if(xmlhttp.readyState==4 && xmlhttp.status==404)
            {
                return 0;
            }
        }
        xmlhttp.open("GET", url, false );
        xmlhttp.send();    
    }

例如,

username = '_ele';
httpGet('https://api.scratch.mit.edu/users/'+username+'/followers'); 

会抛出404错误,但我希望函数返回值0,该怎么做?

1 个答案:

答案 0 :(得分:1)

你可以试试这个版本

function httpGet(url)
    {
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.open("GET", url, false );
        xmlhttp.send();    
        if (xmlhttp.status != 200) {
          // catch error
          return xmlhttp.status + ': ' + xmlhttp.statusText; // expample error: 404: Not Found
        } else {
          // response
          return xmlhttp.responseText;
        }
    }