簡體   English   中英

當我的頁面上完成任何ajax請求時,執行回調

[英]Execute a callback when any ajax request is done on my page

我有一個js文件(使用jQuery)正在發出ajax請求。 事實是,每當error.status == 401(未經授權)時,我都希望重定向到“登錄”,但我不想在存在ajax調用的任何地方進行此操作。

error: function(e){
            if(e.status == 401){
                notice(e.responseText+' Please <a href="/login">Login.</a>', 'error');
            }
        }

定義一個執行所需功能的新函數,並在錯誤回調中調用它:

var errorFunction = function(responsetext) {
    notice(responsetext +' Please <a href="/login">Login.</a>', 'error');
}

然后:

error: function(e){
    if(e.status == 401){
        errorFunction(e.responseText);
    }
}

您可以使用全局ajaxError()並根據諸如url或可以在beforeSend回調中的特定請求內分配給任何xhr對象的特殊屬性的設置在其中定義條件

ajaxerror()文檔修改的示例

$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
  if ( settings.url == "ajax/missing.html" ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
    // do a redirect
    window.location = '/path/to/login';
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM