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

jQuery.ajaxPrefilter()

· 8년 전 · 2739

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
15969
jQuery .jquery
15968
15967
jQuery .is()
15966
15965
15964
15963
15962
jQuery .index()
15961
15960
15959
jQuery .html()
15958
15957
jQuery .hide ()
15956
15955
15954
15953
15952
15949
15947
15946
15945
15944
15942
15941
15940
15939
15938
15937
15936