jQuery ajax在IE9中返回错误错误代码
我正在开发一个使用基于令牌的身份验证系统的应用程序,它需要在IE9+中工作。我在这个项目上使用jQuery1.9.1 到目前为止,我一直在用Chrome开发,刚刚开始在IE9上测试这个应用 在每次ajax调用中,我都有一个错误回调,如果服务器响应401状态代码,它将重定向到登录屏幕。代码如下: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:
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中,它只返回一个空字符串。