홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
jQuery.ajaxPrefilter() $.ajax() 함수 호출 전 Ajax 옵션 수정
5년 전
개요 : Ajax 요청을 보내기 전이나 $.ajax() 함수에 의해 호출되기 전에 Ajax 옵션들을 수정하거나 조작합니다.

jQuery.ajaxPrefilter( [dataTypes], handler(options, originalOptions, jqXHR) )
dataTypes 공백 문자열로 구분된 dataType 문자열, 생략가능
handler(options, originalOptions, jqXHR) 향후 아약스 요청에 대해 기본값을 설정하는 핸들러.
$.ajaxPrefilter() 함수의 기본적인 사용법은 아래와 같습니다.
$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
  // Modify options, control originalOptions, store jqXHR, etc
});
각 인자들을 설명하면 :
options : request 요청 옵션 값들
originalOptions : ajax 함수에 쓰일 수정되지 않은 옵션값들(흠, 정체가 궁금하군요;;;)
jqXHR : jqXHR 겍체 ( jquery XMLHttpRequest )
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;
  }
});
options 객체의 abortOnRetry 라는 속성은 사용자가 만든 것이고, 그 값이 true 라면 Ajax의 기본 속성인 url 에 대한 실행을 abort 하라는 예제인 것(?) 입니다. ㅎㅎ;;
또한 Prefilters 는 이미 작성된 옵션을 수정할 수도 있습니다. 이것도 예제가 있습니다.
$.ajaxPrefilter( function( options ) {
  if ( options.crossDomain ) {
    options.url = "http://mydomain.net/proxy/" + encodeURIComponent( options.url );
    options.crossDomain = false;
  }
});
옵션값인 dataTypes 인자를 사용하다면, prefilter는 dataType 형태로 요청을 진행합니다. 예제를 보시면, JSON 과 script 로 prefilter 를 하고 있는 모습입니다.
$.ajaxPrefilter( "json script", function( options, originalOptions, jqXHR ) {
  // Modify options, control originalOptions, store jqXHR, etc
});
$.ajaxPrefilter() 함수는 아래처럼 isActuallyScript() 라는 사용자가 만든 함수의 어떤 특정한 결과에 의해서 "script" dataType 을 요청하 수도 있습니다.
$.ajaxPrefilter(function( options ) {
  if ( isActuallyScript( options.url ) ) {
    return "script";
  }
});
추천추천 : 221 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.