try-catch 不适用于 XMLHTTPRequest [英] try-catch doesn't work with XMLHTTPRequest

查看:15
本文介绍了try-catch 不适用于 XMLHTTPRequest的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 try-catch 语句来处理来自 XMLHTTPRequest 的错误,如下所示:

I am trying to use the try-catch statements to handle the errors from XMLHTTPRequest, like below:

var xhr = new XMLHttpRequest();
xhr.open('POST', someurl, true);
try{
    xhr.sendMultipart(object);
}
catch(err){
    error_handle_function();
}

xhr.sendMultipart 抛出 401 错误时,error_handle_function 未被调用.知道如何解决这个问题吗?

When there was a 401 error thrown by xhr.sendMultipart, the error_handle_function was not called. Any idea how to fix this?

谢谢!

推荐答案

我认为您无法以这种方式捕获服务器错误.你应该检查状态码:

I think you can't catch server errors that way. you should be checking the status code instead:

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);

这篇关于try-catch 不适用于 XMLHTTPRequest的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆