此函数应该在一切正常时返回数据,并在收到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,该怎么做?
答案 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;
}
}