테스트 사이트 - 개발 중인 베타 버전입니다

jQuery.ajaxPrefilter()

· 8년 전 · 2740

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에 특별히 첨부 된 모든 사전 필터가 적용됩니다.
 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
16019
16015
16014
16013
16011
16010
16009
16008
16004
16003
16002
16001
15993
15992
15991
15988
15987
15986
15985
15981
15980
15979
15978
15977
15976
15975
15974
15973
15971
15970