[Ajax] 서버에 요청(request), Open() 메소드, send() 메소드, 비동기방식(asynchronous) 통신 여부 설정

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]);