jQuery.ajaxTransport () > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

jQuery.ajaxTransport () 정보

jQuery jQuery.ajaxTransport ()

본문

jQuery.ajaxTransport ()

설명 : Ajax 데이터의 실제 전송을 처리하는 객체를 생성합니다.


이 전송은 두 가지 방법을 제공 목적 send과 abort내부에서 사용되며, $.ajax()문제 요청한다. 전송은 개선 할 수있는 가장 진보 된 방법이며, $.ajax()프리 필터 및 변환기가 불충분 할 때 마지막 수단으로 만 사용해야합니다.

각 요청에는 고유 한 전송 오브젝트 인스턴스가 필요하기 때문에 전송을 직접 등록 할 수 없습니다. 따라서 대신 전송을 반환하는 함수를 제공해야합니다.

전송 팩토리는을 (를) 사용하여 등록됩니다 $.ajaxTransport(). 일반적인 등록은 다음과 같습니다.


$.ajaxTransport( dataType, function( options, originalOptions, jqXHR ) {
  if( /* transportCanHandleRequest */ ) {
    return {
      send: function( headers, completeCallback ) {
        // Send code
      },
      abort: function() {
        // Abort code
      }
    };
  }
});

1. op$.ajaxTransport( "image", function( s ) {
  if ( s.type === "GET" && s.async ) {
    var image;
    return {
      send: function( _ , callback ) {
        image = new Image();
        function done( status ) {
          if ( image ) {
            var statusText = ( status === 200 ) ? "success" : "error",
              tmp = image;
            image = image.onreadystatechange = image.onerror = image.onload = null;
            callback( status, statusText, { image: tmp } );
          }
        }
        image.onreadystatechange = image.onload = function() {
          done( 200 );
        };
        image.onerror = function() {
          done( 404 );
        };
        image.src = s.url;
      },
      abort: function() {
        if ( image ) {
          image = image.onreadystatechange = image.onerror = image.onload = null;
        }
      }
    };
  }
});tions 요청 옵션입니다.
2. originalOptions$.ajax()ajaxSettings의 기본값없이 메소드에 제공되는 옵션입니다.
3. jqXHR 요청의 jqXHR 객체입니다.
4. headers 전송 장치가 지원할 경우 전송할 수있는 (키 - 값) 요청 헤더의 개체입니다.
5. completeCallback Ajax에 요청 완료를 알리는 데 사용되는 콜백이다.

completeCallback 다음 서명이 있습니다.


function( status, statusText, responses, headers ) {}

$.ajaxTransport( "script", function( options, originalOptions, jqXHR ) {
  // Will only be called for script requests
});
다음 예제는 최소 이미지 전송을 구현하는 방법을 보여줍니다.

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT