這篇文章將為大家詳細(xì)講解有關(guān)jQuery.ajaxPrefilter怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、攀枝花網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
options 是請(qǐng)求的選項(xiàng)
originalOptions 值作為提供給Ajax方法未經(jīng)修改的選項(xiàng),因此,沒(méi)有ajaxSettings設(shè)置中的默認(rèn)值
jqXHR 是請(qǐng)求的jqXHR對(duì)象
當(dāng)自定義選項(xiàng),需要提前處理,預(yù)過(guò)濾器(Prefilters)是一個(gè)完美的選擇。給定下面的代碼, 例如,如果自定義abortOnRetry選項(xiàng)被設(shè)置為true,那么調(diào)用$.ajax()會(huì)自動(dòng)中止請(qǐng)求相同的URL:
var currentRequests = {};
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.abortOnRetry ) {
if ( currentRequests[ options.url ] ) {
currentRequests[ options.url ].abort();
}
currentRequests[ options.url ] = jqXHR;
}
});
預(yù)過(guò)濾器(Prefilters)也可以被用來(lái)修改已經(jīng)存在的選項(xiàng)。例如,下面的代理服務(wù)器跨域請(qǐng)求http://mydomain.net/proxy/:
$.ajaxPrefilter( function( options ) {
if ( options.crossDomain ) {
options.url = "http://mydomain.net/proxy/" + encodeURIComponent( options.url );
options.crossDomain = false;
}
});
如果提供可選的dataTypes參數(shù),那么預(yù)濾器(prefilter)將只會(huì)對(duì)滿(mǎn)足指定 dataTypes 的請(qǐng)求有效。例如, 以下僅適用于JSON和 script 請(qǐng)求給定的預(yù)過(guò)濾器:
$.ajaxPrefilter( "json script", function( options, originalOptions, jqXHR ) {
// Modify options, control originalOptions, store jqXHR, etc
});
$.ajaxPrefilter()方法也可以將請(qǐng)求重定向到另一個(gè)數(shù)據(jù)類(lèi)型,并且返回該數(shù)據(jù)類(lèi)型。 例如,如果 URL 中含有在 isActuallyScript() 函數(shù)中設(shè)定的指定屬性,那么設(shè)置成一個(gè)“script”的請(qǐng)求:
$.ajaxPrefilter(function( options ) {
if ( isActuallyScript( options.url ) ) {
return "script";
}
});
這將確保請(qǐng)求被認(rèn)為是“script”類(lèi)型的,而且也保證了所有對(duì) script 數(shù)據(jù)類(lèi)型有效的預(yù)前過(guò)濾器,也將被應(yīng)用到它。
關(guān)于“jQuery.ajaxPrefilter怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。