2012-02-05 36 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)}' – 2012-02-05 12:23:36

回答

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代碼。