簡體   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