cha*_*ang 18 javascript xmlhttprequest try-catch
我试图使用try-catch语句来处理错误XMLHTTPRequest,如下所示:
var xhr = new XMLHttpRequest();
xhr.open('POST', someurl, true);
try{
xhr.sendMultipart(object);
}
catch(err){
error_handle_function();
}
Run Code Online (Sandbox Code Playgroud)
当抛出401错误时xhr.sendMultipart,error_handle_function没有被调用.知道如何解决这个问题吗?
谢谢!
Jos*_*eph 26
我认为你不能以这种方式捕获服务器错误.你应该检查状态代码:
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);
Run Code Online (Sandbox Code Playgroud)
当xhr.sendMultipart抛出401错误时
它没有被抛出.它以异步方式返回.
这意味着此代码在响应到达之前完成运行.这就是true你的open电话意味着什么.
您需要注册一个onReadyStateChange处理程序并在那里处理错误响应.
| 归档时间: |
|
| 查看次数: |
17394 次 |
| 最近记录: |