我写了一个简单的登录页面,它向后端发送一个Ajax请求。但是,我无法在成功登录时重定向页面。重定向工作15次,不知道为什么会发生这种情况。我已经尝试了重定向的所有不同的可能性,如window.location.href,替换,重新加载和看到相同的行为。
这里的任何帮助都会很棒。
function loginNow(form) {
var uname, passwd;
if ((uname = document.getElementById("username").value) === "")
alert("Username cannot be empty!");
if ((passwd = CryptoJS.SHA1(document.getElementById("password").value).toString()) === "")
alert("Please provide a password!");
uname = uname.toLowerCase();
var xmlObj;
// For all known browsers
if (window.XMLHttpRequest) {
xmlObj = new XMLHttpRequest();
}
if (xmlObj.overrideMimeType) {
xmlObj.overrideMimeType('text/xml');
}
xmlObj.open("GET","../jsp/authenticate.jsp?username="+uname+"&password="+passwd+"",true);
xmlObj.send();
xmlObj.onreadystatechange = function()
{
if (xmlObj.readyState == 4)
{
var newData = xmlObj.responseText;
var authData = JSON.parse(newData);
var auth = authData.auth;
if (auth == 0) {
**window.location = "http://www.google.com";**
} else {
alert ("Login failed");
}
}
};
}
答案 0 :(得分:0)
答案是HTML脚本中的一个简单更改。 在html调用中添加return function()。如果您在chrome中有回调函数,这是必不可少的。
<button onclick="return loginNow(this.form);">Login</button>