我试图使用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',true); xhr.sendMultipart(object);