您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關jQuery.ajaxPrefilter怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
options 是請求的選項
originalOptions 值作為提供給Ajax方法未經修改的選項,因此,沒有ajaxSettings設置中的默認值
jqXHR 是請求的jqXHR對象
當自定義選項,需要提前處理,預過濾器(Prefilters)是一個完美的選擇。給定下面的代碼, 例如,如果自定義abortOnRetry選項被設置為true,那么調用$.ajax()會自動中止請求相同的URL:
var currentRequests = {};
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.abortOnRetry ) {
if ( currentRequests[ options.url ] ) {
currentRequests[ options.url ].abort();
}
currentRequests[ options.url ] = jqXHR;
}
});
預過濾器(Prefilters)也可以被用來修改已經存在的選項。例如,下面的代理服務器跨域請求http://mydomain.net/proxy/:
$.ajaxPrefilter( function( options ) {
if ( options.crossDomain ) {
options.url = "http://mydomain.net/proxy/" + encodeURIComponent( options.url );
options.crossDomain = false;
}
});
如果提供可選的dataTypes參數,那么預濾器(prefilter)將只會對滿足指定 dataTypes 的請求有效。例如, 以下僅適用于JSON和 script 請求給定的預過濾器:
$.ajaxPrefilter( "json script", function( options, originalOptions, jqXHR ) {
// Modify options, control originalOptions, store jqXHR, etc
});
$.ajaxPrefilter()方法也可以將請求重定向到另一個數據類型,并且返回該數據類型。 例如,如果 URL 中含有在 isActuallyScript() 函數中設定的指定屬性,那么設置成一個“script”的請求:
$.ajaxPrefilter(function( options ) {
if ( isActuallyScript( options.url ) ) {
return "script";
}
});
這將確保請求被認為是“script”類型的,而且也保證了所有對 script 數據類型有效的預前過濾器,也將被應用到它。
關于“jQuery.ajaxPrefilter怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。