XMLHttpRequest:POST请求状态

XMLHttpRequest: POST request status

本文关键字:状态 请求 POST XMLHttpRequest      更新时间:2023-09-26

我有这样一部分代码:

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。

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

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