>  기사  >  백엔드 개발  >  AJAX에서 POST와 GET의 차이점과 구현 방법

AJAX에서 POST와 GET의 차이점과 구현 방법

巴扎黑
巴扎黑원래의
2016-11-30 10:22:101164검색

AJAX 오픈 메소드의 첫 번째 매개변수는 전송 메소드를 나타내는 것으로 알고 있습니다. 많은 정보에 따르면 GET, POST, HEAD 및 서버에서 지원하는 기타 전송 메소드를 사용하여 변수를 전송할 수 있습니다. 그런데 POST와 GET의 실제 차이점은 무엇이며, 실제 인코딩 과정에서 어떻게 구현해야 할까요?

(참고: 전달 방법은 RFC2068의 조항 및 지침을 참조하십시오.)

AJAX의 send 방법은 누구나 알고 있듯이 일반적인 상황에서는 null 값이 전달됩니다. 하지만 아래의 post 메소드에서는 매개변수가 send() 메소드에 전달됩니다.

POST의 경우 데이터를 저장하기 위해 데이터를 사용할 수 있지만 GET의 경우 매개변수가 고유해야 합니다(그렇겠죠??)

GET 프로세스에서는 매개변수와 함께 전송됩니다. URL은 다음과 같습니다. http://localhost/ajaxtest/proceajax.php?name=stven&pws=123

그러나 POST 과정에서 전송해야 할 데이터 정보는 ? 번호 뒤에서 직접 얻을 수 있습니다.

post_data=name=stven&pws=123

js를 사용한 루프 추가

if (ajax_request_type == "GET") {
if (uri.indexOf (" ?") == -1)
uri = uri + "?rs=" + func_name;
else
uri = uri + "&rs=" + func_name;
for (i = 0; i < args.length-1; i++)
uri = uri + "&rsargs[]=" + args[i];
uri = uri + "&rsrnd=" + new Date().getTime () ;
post_data = null;
} else {
post_data = "rs=" + func_name;
for (i = 0; i < args.length-1; i++)
post_data = post_data + "&rsargs[]=" + urlencode(args[i]);
}

function ajax_run(action_name,uri,request_type,postvar) {
var post_data;
ajaxok = ajax_init_object();

if(request_type == "POST"){
uri = uri + "?nocache=" + new Date().getTime();
}else {
uri = uri + "&nocache=" + new Date().getTime();
}

if(ajaxok){
ajaxok.open(request_type, uri, false) ;

if (request_type == "POST") {
ajax.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
ajax.setRequestHeader("Content -Type ", "application/x-www-form-urlencoded");
}

ajaxok.onreadystatechange = ajax_complete;
ajaxok.send(post_data);
ajaxok = null;
}
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.