HTML页面重定向无法在javascript中运行

时间:2016-09-26 16:32:43

标签: javascript html ajax

我写了一个简单的登录页面,它向后端发送一个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");
                }
            }
        };
    }

1 个答案:

答案 0 :(得分:0)

答案是HTML脚本中的一个简单更改。 在html调用中添加return function()。如果您在chrome中有回调函数,这是必不可少的。

 <button onclick="return loginNow(this.form);">Login</button>