2012-04-28 3 views
-1

변수 xmlhttp=new XMLHttpRequest()이 시작됩니다. 다음 코드를아약스에 대해 이해할 수없는 코드

function makerequest(serverPage,objID){ 
      var obj=document.getElementById(objID); 
      xmlhttp.open("GET",serverPage); 
      xmlhttp.onreadystatechange = function(){ 
       if(xmlhttp.readyState == 4 && xmlhttp.status ==200){ 
        obj.innerHTML = xmlhttp.responseText; 
       } 
      } 
      xmlhttp.send(null); 
     } 

미안 내가 그것을 xmlhttp.readyState == 4을 추가 왜 경우 상태에서, 아약스의 새로운 학습자입니다. 함수의 끝에서 xmlhttp.send(null);을 사용하여 삭제할 수 있습니다. 고맙습니다.

답변

0

자, 생성하는 ajax 요청을 보내려고하므로 get을 사용하고 있으므로 null을 사용할 수 있습니다. post를 사용하는 경우 send 메소드에서 쿼리 문자열을 전달해야합니다. More here.

readyState 조건을 삭제하면 페이지가 준비되지 않았기 때문에 아무것도 반환하지 않는 ajax로 끝날 수 있습니다. 더 많은 것을 here를보십시오.

편집 :

xmlhttp.open("POST","ajax_test.asp",true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("fname=Henry&lname=Ford"); 
+0

내가 다른 (ARG)에 널 PARAM을 변경, 코드가 왜 작동하지 않을 수 있습니다 POST의 샘플 인수 방법을 보내? – user1345545

+0

@ user1345545 ajax와 함께 GET 요청을 보내는 경우 send() 메서드에 인수가 필요하지 않습니다. POST 요청을 보낼 때 매개 변수를 입력하기 만하면됩니다. 매개 변수는 게시하려는 데이터의 쿼리 문자열 (이름 값 쌍)이어야합니다. 내 편집 된 게시물을 참조하십시오. – Mansfield

관련 문제