CODEDRAGON ㆍDevelopment/JavaScript, jQuery, ...
서버에 요청(request)
· Ajax에서는 XMLHttpRequest 객체를 사용하여 서버와 데이터를 교환합니다.
· 따라서 서버에 요청을 보내기 위해서는 우선 XMLHttpRequest 인스턴스를 생성해야 합니다.
· 그런다음 XMLHttpRequest 인스턴스의 open() 메소드와 send() 메소드를 사용하여 요청을 보낼 수 있습니다.
Open() 메소드
Ajax 요청을 초기화하면서 요청 방식과 주소 및 동기화 여부를 지정하는 메소드입니다.
open(method, url[, async]);
|
구성요소 |
설명 |
method |
· http 요청 전달 방식 · 요청 방식에는 get 또는 post 방식이 있습니다 · Ajax에서는 주로 GET 방식보다는 POST 방식을 사용하여 요청을 전송합니다. |
url |
· 요청할 페이지의 URL 주소를 지정합니다. |
[ ] |
· 대괄호([]) 부분은 있어도 되고, 없어도 되는 선택사항을 의미합니다. |
async |
· 비동기 통신 여부를 나타낼 때 사용합니다. · true 또는 false 값을 가질 수 있습니다. · async 인자를 지정하지 않으면 true를 기본값으로 사용합니다. |
send() 메소드
· 작성된 Ajax 요청을 서버로 전달하는 메소드입니다.
· body 인자에는 요청과 함께 서버로 보낼 내용을 지정합니다.
· send() 메소드는 전달 방식에 따라 인수를 가질 수도 있고 안 가질 수도 있습니다.
send(); // GET 방식 |
send(문자열); // POST 방식 |
send(body);
|
비동기방식(asynchronous) 통신 여부 설정
서버에 비동기 요청을 보내기 위해서는 open() 메소드의 세 번째 인수로 true를 전달하면 됩니다. 이렇게 서버로 비동기 요청을 보내면, 자바스크립트는 서버로부터의 응답을 기다리면서 동시에 다른 일을 할 수 있게 됩니다.
만약 open() 메소드의 세 번째 인수로 false를 전달하면, 서버에 동기방식으로 요청을 보내게 됩니다. 이때 자바스크립트는 서버로부터 응답이 도착할 때까지 대기하게 됩니다. 따라서 사용자는 응답을 대기하는 동안 다른 어떤 작업도 할 수 없게 됩니다.
open(method, url[, true|false]); |
'Development > JavaScript, jQuery, ...' 카테고리의 다른 글
[Ajax] HTTP 요청 헤더, setRequestHeader() (0) | 2017.07.06 |
---|---|
[Ajax] XHR의 메소드 (0) | 2017.07.06 |
XMLHttpRequest(XHR) 객체 사용법-XMLHttpRequest 객체 생성, Callback 함수를 만들기, Request를 Open, Request를 Send (0) | 2017.07.06 |
.animate() 메소드 (0) | 2017.07.05 |
Ajax 프레임워크, Ajax 프레임워크 종류 (0) | 2017.07.05 |