我想通过使用 Ajax 和 Javascript 调用 API 来实现登录。
用户输入用户名和密码,然后单击按钮“login()”将被调用。如果输入正确,它应该打开欢迎页面。我实现它如下。但它不起作用!
function login() {
var url = "http://...";
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
console.log("before function. ")
xhr.onreadystatechange = function () {
console.log("before if. ")
if (this.readyState == 4 && this.status == 200) {
console.log("inside if. " + xhr.responseText);
window.open(welcome);
}
};
var obj = { UserName: username , Password: password }
var data = JSON.stringify(obj);
xhr.send(data);
console.log("END ");
}
按照建议,我添加了几个控制台日志来调试它,我发现它永远不会在 if 中运行。控制台上没有错误,这是控制台上的输出:
before function.
END
before if.
(之前重复了3次)
我已经检查过 Postman 的 API。有用。如果用户名和密码正确,则返回用户的所有信息,http状态码为201。如果输入不正确,则返回错误信息,状态码为401。