jQuery.ajaxTransport ()

· 2017-11-21 (화) 10:33:22 · 3130

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

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

개발자팁

5,403건

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

+
분류 제목 글쓴이 날짜 조회
jQuery 17-11-24 조회 2,535
jQuery 17-11-24 조회 2,693
jQuery 17-11-21 조회 2,917
jQuery 17-11-21 조회 3,131
jQuery 17-11-21 조회 2,342
jQuery 17-11-10 조회 3,341
jQuery 17-11-10 조회 2,803
jQuery
[jQuery]
17-11-10 조회 2,151
JavaScript 17-11-09 조회 3,238
jQuery
[jQuery]
17-11-08 조회 1,963
jQuery 17-11-08 조회 2,230
jQuery 17-11-08 조회 2,332
jQuery 17-10-24 조회 2,109
jQuery 17-10-24 조회 2,185
jQuery
[jQuery]
17-10-24 조회 1,868
jQuery 17-10-20 조회 2,434
jQuery 17-10-20 조회 2,914
jQuery
[jQuery]
17-10-20 조회 2,203
jQuery 17-10-19 조회 1,896
jQuery
[jQuery]
17-10-19 조회 2,326
jQuery 17-10-19 조회 5,921
기타 17-10-19 조회 3,658
jQuery
[jQuery]
17-10-17 조회 2,051
jQuery 17-10-17 조회 2,207
jQuery 17-10-17 조회 2,299
PHP 17-10-16 조회 5,611
node.js 17-10-13 조회 4,647
jQuery 17-10-12 조회 2,695
jQuery 17-10-12 조회 2,139
jQuery 17-10-12 조회 1,672