2012-02-05 81 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代码。