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

jQuery.ajaxTransport ()

· 7년 전 · 2623

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
});
다음 예제는 최소 이미지 전송을 구현하는 방법을 보여줍니다.

댓글 작성

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

로그인하기

게시글 목록

번호 제목
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