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