jQuery.ajaxPrefilter() 정보
jQuery jQuery.ajaxPrefilter()본문
jQuery.ajaxPrefilter()
설명 : 각 요청을 보내기 전에,에 의해 처리되기 전에 사용자 정의 Ajax 옵션을 처리하거나 기존 옵션을 수정하십시오 $.ajax().
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
// Modify options, control originalOptions, store jqXHR, etc
});
어디에:
options 요청 옵션입니다.
originalOptions그 $.ajax()방법에 제공되는 옵션 이며, 수정되지 않은 것이며, 따라서ajaxSettings
jqXHR 요청의 jqXHR 객체입니다.
프리 필터는 사용자 정의 옵션을 처리해야 할 때 적합합니다. 예를 들어 다음 코드가 주어지면에 대한 호출 $.ajax()은 사용자 정의 abortOnRetry옵션이 다음과 true같이 설정된 경우 동일한 URL에 대한 요청을 자동으로 중단합니다 .
var currentRequests = {};
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.abortOnRetry ) {
if ( currentRequests[ options.url ] ) {
currentRequests[ options.url ].abort();
}
currentRequests[ options.url ] = jqXHR;
}
});
프리 필터를 사용하여 기존 옵션을 수정할 수도 있습니다. 예를 들어 다음 프록시는 http://mydomain.net/proxy/을 통해 도메인 간 요청을 처리합니다.
$.ajaxPrefilter(function( options ) {
if ( options.crossDomain ) {
options.url = "http://mydomain.net/proxy/" + encodeURIComponent( options.url );
options.crossDomain = false;
}
});
선택적 dataTypes인수가 제공되면, 사전 필터는 표시된 dataTypes가있는 요청에만 적용됩니다. 예를 들어, 다음은 제공된 사전 필터를 JSON 및 스크립트 요청에만 적용합니다.
$.ajaxPrefilter( "json script", function( options, originalOptions, jqXHR ) {
// Modify options, control originalOptions, store jqXHR, etc
});
또한이 $.ajaxPrefilter()메소드는 해당 dataType을 반환하여 요청을 다른 dataType으로 리디렉션 할 수 있습니다. 예를 들어, 다음은 URL에 사용자 정의 isActuallyScript()함수에 정의 된 특정 특성이있는 경우 요청을 "script"로 설정 합니다.
$.ajaxPrefilter(function( options ) {
if ( isActuallyScript( options.url ) ) {
return "script";
}
});
이렇게하면 요청이 "스크립트"로 간주 될뿐만 아니라 스크립트 dataType에 특별히 첨부 된 모든 사전 필터가 적용됩니다.
1
댓글 0개