2012-02-05 4 views
0

내가 코드의 같은 부분이 있습니다 내 로그인 & 암호가 올바른지XMLHttpRequest의 : POST 요청 상태

var xhr = new XMLHttpRequest(); 
xhr.open("POST", "http://someurl.com", true); 
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4) { 
    if (xhr.status == 200) { 
     doSomeTask(); 
    } 
    } 
} 
xhr.send('login=mylogin&password=mypassword'); 

는 어떻게 알 수 있습니까? 두 경우 모두 xhr.status는 200입니다.

+0

콘솔에 표시되는 내용은 무엇입니까? //'if (xhr.status == 200) {console.log (xhr.responseText)}' –

답변

1

잘못된 로그인/암호 시도는 HTTP 오류가 아닙니다. HTTP 오류 만 4xx 또는 5xx 리턴 코드를 리턴합니다. 응답에서 xhr.responseText 또는 xhr.responseXML을 사용하여 백엔드가 반환 할 내용을보고 그에 따라 결정할 수 있습니다. 응답을 얻는 방법은 http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/#dfn-responsetext을 참조하십시오.

또한 Ajax 호출의 복잡성을 숨기는 좋은 Javascript 프레임 워크가 많이 있습니다. JQuery는 AJAX 스크립트를 매우 쉽게 호출 할 수있게 해줍니다. 원시 XHR 코드를 작성하는 대신 조사를 원할 수 있습니다.