我在jQuery 1.9.1中使用jQuery UI 1.10.1标签。 我通过Ajax加载内容,它工作正常。直到用户会话到期并且服务器返回带有URL的json响应才能重定向到登录页面。但我无法检查返回数据类型或返回数据。 我已经测试了load事件及其对象UI和Panel参数没有提供任何信息从服务器返回什么样的数据。
当我将服务器响应类型更改为具有登录页面路径的302标头时,它不会重定向到该页面。
答案 0 :(得分:1)
找到解决方案为ajaxComplete创建一个钩子,并提供对XHR状态的访问权限。因此,如果服务器发回302标头,我们可以检查它并进行重定向。它仍然没有五种访问返回的数据类型。
$(document).ajaxComplete(function(e, XHR, settings, exception) {
$('.ajaxDiv').hide();
if (XHR.status == 200) {
} else if (XHR.status == 500) {
alert('500 Internal Server Error please retry');
} else if (XHR.status == 404) {
alert('404 Not Found');
} else if (XHR.status == 403 || XHR.status == '403 Forbidden') {
window.location.href = '/user/login';
} else if (XHR.status == 302) {
window.location.href = XHR.responseText;
}
});