[英]Cannot redirect inside the custom success callback on an Ajax wrapper
如果用户不再登录或通过Ajax执行某些功能时没有权限,则尝试将用户重定向到登录页面。 为了避免冗余,我根据在这里找到的代码为成功回调实现了包装器,该代码检查控制器是否返回not_logged_in以表示用户没有权限。 如果用户没有权限,我将使用自定义成功功能重定向用户。 问题在于它不会将用户重定向到登录页面。 相反,它仅在控制台上打印登录页面,而实际的Ajax调用失败。 我应该更改我的代码吗?
这是Ajax包装器:
function wrapped_ajax(options) {
var success = options.success;
options.success = function(data, textStatus, jqXHR) {
if(success) {
if (data.not_logged_in) {
window.location = 'login';
} else {
success(data, textStatus, jqXHR);
}
}
};
return $.ajax(options);
}
请改用window.location.href='http://'+document.domain+'/login'
(或类似的方法来创建适当的网址)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.