참조 : http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
POST 방법
요청을 보낼 때 POST 메서드가 사용되도록 몇 가지 수정을 할 것입니다.
var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
일부 http 헤더는 POST 요청과 함께 설정되어야합니다. 그래서 우리는 그것들을이 줄에 설정했습니다 ...
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
위의 줄에서 우리는 기본적으로 데이터 전송이 양식 제출 형식이라고 말합니다. 또한 우리가 보내는 매개 변수의 길이를 제공합니다.
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
'준비 상태'변경 이벤트에 대한 핸들러를 설정합니다. 이것은 GET 메서드에 사용한 것과 동일한 핸들러입니다. 여기에서 http.responseText를 사용할 수 있습니다-innerHTML (AHAH), eval it (JSON) 또는 다른 것을 사용하여 div에 삽입하십시오.
http.send(params);
마지막으로 요청과 함께 매개 변수를 보냅니다. 주어진 URL은이 줄이 호출 된 후에 만로드됩니다. GET 메소드에서 매개 변수는 널값이됩니다. 그러나 POST 메소드에서는 전송할 데이터가 send 함수의 인수로 전송됩니다. params 변수는 두 번째 줄에서 다음과 같이 선언되었습니다. lorem=ipsum&name=binny
따라서 두 개의 매개 변수 인 'lorem'과 'name'을 각각 'ipsum'과 'binny'값으로 보냅니다.