XMLHttpRequest:POST请求状态

时间:2012-02-05 12:12:16

标签: javascript xmlhttprequest

我有这样的代码部分:

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。

1 个答案:

答案 0 :(得分:1)

无效的登录/密码尝试不是HTTP失败。只有HTTP失败才能返回4xx或5xx返回码。您可能希望使用响应中的xhr.responseText或xhr.responseXML来查看您的后端返回的内容,并根据该决定做出决定。有关如何获得回复,请参阅http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/#dfn-responsetext

此外,还有大量优秀的Javascript框架可以隐藏制作Ajax调用的复杂性。 JQuery使调用AJAX脚本的工作变得非常容易。您可能希望对此进行调查,而不是编写原始XHR代码。