http处理404错误
问题描述:
该函数应该在一切正常时返回数据,并在收到404错误时返回0。http处理404错误
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,而不是,怎么办呢?
答
你可以试试这个版本
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;
}
}
https://jsfiddle.net/dfrhh6kw/控制台还抛出404错误,我能做些什么呢? –
U也会在控制台收到错误,但是你的代码在jsfiddle中工作(我收到警报505),之后如果重写'return xmlhttp.status +':'+ xmlhttp.statusText;'''return“ook”'我收到alert与文字'ook' – AkeRyuu