繁体   English   中英

无法在Ajax包装器上的自定义成功回调内部重定向

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM