1

我想知道是否可以在 jquery\javascript 中等到重定向完成后再触发回调函数。

我的代码如下所示,一切都很好,直到登录用户的帖子的回调,当验证完成后,页面不幸被重定向,帖子请求触发了成功回调函数,因此我结束了获取“页面重定向..”而不是它应该重定向到的页面。

$(document).ready(function(){   
    $("#submit").click(function(){
        var url = "https://domain/login";

        $.ajax({
            url: url,
            type: "GET",
            dataType: "html",
            success: onGetFormSuccess,
            error: function(data) {
                alert('failed.');
            }
        });
    }); 

    function onGetFormSuccess(data) {
        var url = "https://domain/login";
        var parser = new DOMParser();
        doc = parser.parseFromString(data, "text/html");

        var inputs = doc.getElementById("formid").getElementsByTagName("input");
        var params = new Object();

        for (var i = 0; i < inputs.length; i++) {               
            if (inputs[i].name == "user")
                params[inputs[i].name] = $("#username").val();
            else if (inputs[i].name == "pass")
                params[inputs[i].name] = $("#password").val();
            else 
                params[inputs[i].name] = inputs[i].value;
        }

        $.ajax({
            url: url,
            type: "POST",
            data: params,
            success: onLoginSuccess,
            error: function(data) {
                alert('failed.');
            }
        });
     }

     function onLoginSuccess(data) {
         alert(data);
     }
});
4

0 回答 0