Ajax 요청 직접 제어하기

2015. 5. 17. 22:56plming/jQuery

Ajax 요청의 생성과 관련된 jQuery의 모든 함수와 커맨드는 이 함수를 사용하여 요청을 전송

 

$.ajax( options=Object )

요청의 생성 방법과 통보 받을 콜백을 제어하고자 전달된 option을 사용하여 Ajax 요청을 전송

option : 요청에 대한 매개변수를 정의하는 프로퍼티를 소유한 객체 인스턴스

 이름

 타입

 설명

 url

 String

 요청 URL

 type  String

 사용할 HTTP 메서드.  일반적으로 POST나 GET을 사용.

 생략하면 기본 값으로 GET을 사용

 data  Object

 요청에 전달되는 프로퍼티를 가진 객체.

 GET요청이면 데이터는 쿼리 문자열로 제공

 POST요청이면 데이터는 요청의 본문으로 제공

 두 경우 모두 $.ajax() 유틸리티 함수가 값의 인코딩을 처리

 dataType

 String

 응답의 결과로 반환되는 데이터의 종류를 식별하는 키워드

 콜백 함수로 전달하기 전에 후처리가 발생할지 결정

 . xml - XML문서로 파싱, 콜백에 XML DOM을 전달

 . html - 응답 텍스트는 처리 과정없이 콜백 함수로 전달

            반환된 HTML에 있는 <script> 블록이 평가된다.

 . json - 응답 텍스트는 JSON문자열로 평가되어 콜백 함수로 전달

 . jsonp - 원격 스크립트를 허용한다는 점을 제외하고는 json과 유사

 . script - 응답 텍스트가 스크립트 구문으로 처리되어 콜백 함수로 전달

 . text - 일반 텍스트

 서버에서 올바른 content-type 응답 헤더를 설정해야 한다.

 생략하면 어떠한 처리나 평가 없이 콜백에 전달

 timeout

 Number

 Ajax 요청의 제한 시간을 밀리초 단위로 설정

 제한 시간이 지나면 취소하거나 error 콜백이 있으면 호출

 global  Boolean  전역 함수 활성화 여부.  생략하면 기본 값으로 활성화
 contentType  String

 요청에 명시되는 콘텐츠 타입. 생략하면 폼 전송이 기본으로 사용하는 'application/x-www-form-urlencoded'가 설정

 success  Function

 응답이 성공 상태코드를 반환하면 호출되는 함수

 응답 본문은 첫번째 매개변수로 전달

 두번째는 상태 값. 항상 success

 error  Function

 응답이 에러 상태코드를 반환하면 호출되는 함수

 XHR 인스턴스, error 상태문자, 예외 객체(선택적)가 매개변수로 전달

 complete

 Function

 요청이 완료되면 호출되는 함수

 XHR 인스턴스와 success/error의 상태문자

 success/error 콜백을 실행후 호출

 beforeSend

 Function

 요청이 전송되기 전에 먼저 호출되는 함수

 XHR 인스턴스를 전달, 헤더설정/요청전 필요연산을 수행

 Ajax 요청을 취소하려면 return true;

 async

 Boolean

 false이면 동기 호출로 전송.  기본은 비동기 요청

 processData

 Boolean

 false로 설정하면 인코딩된 형태의 데이터 금지

 기본은 폼 전송에 사용되는 URL인코딩 방식

 ifModified

 Boolean

 true일 때 Last-Modified 헤더를 확인하여 응답콘텐츠가 변경되지 않았다면 성공, 생략하면 확인하지 못함.

 

 

$.ajaxSetup( properties )

전달된 프로퍼티 집합을 이어지는 $.ajax()호출의 기본 옵션 값으로 할당

properties : 기본 Ajax 프로퍼티 집합을 정의하는 프로퍼티를 가진 객체 인스턴스

                 $.ajax()의 프로퍼티와 동일

 

설정하는 기본 프로퍼티 집합은 load() 컨맨드에 적용할 수 없다.

$.get()/$.post()같은 유틸리티 함수에서 HTTP메서든 기본 값으로 재정의될 수 없다.

 

그 이외의 모든 Ajax 호출이 기본 값 프로퍼티를 사용

 

 

* Ajax 전역 함수

Ajax 요청이 처리되는 각 단계나 요청이 성공하거나 실패할 때 실행되도록

특정 DOM 엘리먼트에 jQuery함수를 덧붙일 수도 있다.

 

ajaxStart( callback )

ajaxSend( callback )

ajaxSuccess( callback )

ajaxError( callback )

ajaxComplete( callback )

ajaxStop( callback )

 

전달된 함수는 모든 일치하는 엘리먼트에  덧붙여지고, Ajax 요청이 발생하는 과정에서 지정된 시점에 호출

 

 전역 콜백 타입

 호출 시점

 매개변수

 ajaxStart

 jQuery의 Ajax 함수나 커맨드가 실행될 때, 하지만 XHR 인스턴스는 생성되기 전이다.

 . 타입이 ajaxStart로 설정된 전역 콜백정보객체

 ajaxSend

 XHR 인스턴가 생성된 뒤, 하지만 서버로 전송하기 전이다.

 . 타입이 ajaxSend로 설정된 전역 콜백정보객체

 . XHR 인스턴스

 . $.ajax() 함수가 사용하는 프로퍼티

 ajaxSuccess

 서버에서 요청이 반환되고, 응답이 성공상태코드를 포함할 때

 . 타입이 ajaxSuccess로 설정된 전역 콜백정보객체

 . XHR 인스턴스

 . $.ajax() 함수가 사용하는 프로퍼티

 ajaxError

 서버에서 요청이 반환되고, 응답이 실패상태코드를 포함할 때

 . 타입이 ajaxError로 설정된 전역 콜백정보객체

 . XHR 인스턴스

 . $.ajax() 함수가 사용하는 프로퍼티

. XHR 인스턴스가 반환한 예외 객체

 ajaxComplete  서버에서 요청이 반환되고, 선언된 ajaxSuccess나 ajaxError 콜백이 호출된 후  . 타입이 ajaxComplete로 설정된 전역 콜백정보객체

 . XHR 인스턴스

 . $.ajax() 함수가 사용하는 프로퍼티

 ajaxStop

 모든 Ajax 진행이 완료되고, 다른 적용된 전역 콜백이 호출된 후

 . 타입이 ajaxStop로 설정된 전역 콜백정보객체

 

 

'plming > jQuery' 카테고리의 다른 글

jQuery 사용자 정의 플러그인  (0) 2015.05.22
animation 효과  (0) 2015.05.19
Ajax - GET/POST 요청 만들기  (0) 2015.05.15
Ajax - 엘리먼트에 콘텐츠 로드하기  (0) 2015.05.14
Ajax  (0) 2015.05.14