![](/img/trans.png)
[英]Javascript try-catch doesn't catch 'Failed to load resource: net::ERR_CONNECTION_RESET '
[英]try-catch doesn't work with XMLHTTPRequest
我正在尝试使用try-catch
语句来处理XMLHTTPRequest
的错误,如下所示:
var xhr = new XMLHttpRequest();
xhr.open('POST', someurl, true);
try{
xhr.sendMultipart(object);
}
catch(err){
error_handle_function();
}
当xhr.sendMultipart
抛出401错误时,未调用error_handle_function
。 知道如何解决这个问题吗?
谢谢!
我认为你不能以这种方式捕获服务器错误。 你应该检查状态代码:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function() {
if (xhr.readyState === 4){ //if complete
if(xhr.status === 200){ //check if "OK" (200)
//success
} else {
error_handle_function(); //otherwise, some other code was returned
}
}
}
xhr.open('POST', someurl, true);
xhr.sendMultipart(object);
当xhr.sendMultipart抛出401错误时
它没有被抛出。 它以异步方式返回。
这意味着此代码在响应到达之前完成运行。 这就是你的open
电话中的true
含义。
您需要注册onReadyStateChange
处理程序并在那里处理错误响应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.