jQuery ajax在IE9中返回错误错误代码

jQuery ajax在IE9中返回错误错误代码,jquery,ajax,internet-explorer,google-chrome,Jquery,Ajax,Internet Explorer,Google Chrome,我正在开发一个使用基于令牌的身份验证系统的应用程序,它需要在IE9+中工作。我在这个项目上使用jQuery1.9.1 到目前为止,我一直在用Chrome开发,刚刚开始在IE9上测试这个应用 在每次ajax调用中,我都有一个错误回调,如果服务器响应401状态代码,它将重定向到登录屏幕。代码如下: return $.ajax({ url: service_url+'/'+item, type: 'GET', dataType: 'json', beforeSend:

我正在开发一个使用基于令牌的身份验证系统的应用程序,它需要在IE9+中工作。我在这个项目上使用jQuery1.9.1

到目前为止,我一直在用Chrome开发,刚刚开始在IE9上测试这个应用

在每次ajax调用中,我都有一个错误回调,如果服务器响应401状态代码,它将重定向到登录屏幕。代码如下:

return $.ajax({
    url: service_url+'/'+item,
    type: 'GET',
    dataType: 'json',
    beforeSend: function (request) {
        request.setRequestHeader("X-Token", $.cookie('access_token'));
    },
    error: function (jqXHR, status, error) {
        if (jqXHR.status === 401) {
            var redirect_location = encodeURIComponent(window.location.pathname+window.location.hash);
            window.location = 'Login/index.html?e=Unauthorized&redirect='+redirect_location;
        }
    }
});
这在Chrome中运行良好,但我注意到在IE9中没有重定向发生。在开发人员工具的网络选项卡中,我清楚地看到调用中出现了401错误:

如果我在错误回调中执行
console.log(jqXHR.status)
或只执行
console.log(status)
,Chrome将返回
401
。IE9返回
500
。我还试着检查
error
参数,它在IE9中只返回文本
“error”
,但在Chrome中返回
“Unauthorized”
。我不想总是在出现任何错误时重定向到登录(我正在处理页面中包含消息的服务器错误),只有在调用返回unauthorized以强制用户登录时才这样做


知道为什么会发生这种情况吗?有没有好的解决办法?

状态也会给你500,对吗?是的
状态也会返回500 jqXHR.responseText会给你你你想要的吗?在Chrome中,它会返回:
{“消息”:“请求缺少授权令牌”。
。在IE9中,它只返回一个空字符串。