成功的ajax登录后如何明智地重定向?

时间:2017-04-21 09:44:39

标签: javascript jquery ajax url-redirection

我有一个调用ajax的方法,成功后我需要重定向到另一个页面。

我认为当ajax调用结束时,我的URL默认已更改,以我在ajax调用中发布的用户名和密码结束。

如何明智地处理这个问题?我没有删除async false的情况,我知道我可以使用ajax给定密钥发送密码和用户名。

function Login() {
    var model = { user_Name: $("#username").val(), Password: $("#password").val() };
    $.ajax({
        async: false,
        url: 'http://localhost:51525/api/HomeApi/',
        type: 'POST',
        data: JSON.stringify(model),
        dataType: "json",
        success: function (data) {
            alert("Function is successfully returned now redirect");

            //how to redirect??
            //window.location.href = 'http://localhost:51525/user/';
            //window.location.href = '@Url.Action("Index","User")';  
        }
    });
}

1 个答案:

答案 0 :(得分:1)

您的网址显示用户名和密码的原因是您使用默认方法触发表单提交=" GET"。

有很多选择。 E.G:

从您的登录返回false。这将禁用表单提交。

function Login() {
    //Your code...
    return false;
}

或者

根本不使用ajax,并使用普通表格帖子:

<form method="POST" action="/api/HomeApi/">

此外,用户可以通过其他方式提交表单,因此<form onsubmit="Login()">可能优于<input onclick="Login()">

相关问题