使用javascript进行HTTP登录API身份验证?

时间:2014-04-01 05:25:46

标签: javascript ajax api

function login1() {

  var user = document.getElementById("username").value;
  var pass = document.getElementById("password").value;
  var url = "http://agero-dev.apigee.net/v1/id/auth/login";
  var http = getHTTPObject(); 
  if (http.status == 200 ) {
  this.http.open("post", url, false, user, pass);
  this.http.send("");
    document.location = job-list.html;
  } else {
    alert("Incorrect username and/or password!");
  }
  return false;
}

function getHTTPObject() {
  var xmlhttp = false;

  if (window.XMLHttpRequest) {  // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
  } else {                      // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return xmlhttp;

}

请查看上面的代码,同时提供错误的用户名和密码,它会显示警告,但在使用正确的登录时,它不会重定向到job-list.html页面,请指教?

1 个答案:

答案 0 :(得分:0)

您可以使用readyState来检查响应是否准备就绪。

http.onreadystatechange=function() {

  if (http.status == 200 && http.readyState == 4) {
        .... //your code
        window.location = job-list.html;
  }

}       

http.open("post", url + '?user=' + user + '&pass=' + pass, true);
http.send();