使用ajax和json从登录表单重定向到用户表单

时间:2012-07-31 20:07:10

标签: asp.net asp.net-ajax

有一个登录表单,上面有登录按钮(不是服务器控件)。我想在结账后使用数据库登录user.aspx。所以我创建了一个页面:getlogin.aspx,它将连接到数据库并检查用户名和密码。我将通过$ .ajax调用此表单(我的意思是getlogin.aspx),如下所示:

 $('#btnLogin').click(function () {
        var pass = $('#txtPassword').val();
        var user = $('#txtUsername').val();
        $.ajax({
            type: 'GET',
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            url: 'get/login.aspx',
            data: { un: user, pa: pass },
            beforeSend: function () {
                $('#loader_login').addClass('loader_ajax');
            },
            success: function (jsonMsg) {
                var result = jsonMsg.loggedIn;
                if (result == "false") {
                    //show err dialog
                }
                else {
                    //redirect to user page with username as query string
                    window.open(location.host + "/" + "User.aspx?user=" + user);

                }
            },
            complete: function () {
                $('#loader_login').removeClass('loader_ajax');
            }

        });

    });

所以在成功函数中:

    success: function (jsonMsg) {
        var result = jsonMsg.loggedIn;
        if (result == "false") {
            //show err dialog
        }
        else {
            //redirect to user page with username as query string
            window.open(location.host + "/" + "User.aspx?user=" + user);

        }

我要检查结果。一切都在正确的地方,但窗口。开放根本不工作!我该如何解决?

1 个答案:

答案 0 :(得分:0)

我没有看到您打开窗口的代码存在问题,因为location.host将返回例如www.stackoverflow.com然后您的完整网址将为www.stackoverflow.com/User.aspx?user=SomeUser,这是一个有效的网址

所以我认为你有一个阻止你新打开的窗口的弹出窗口阻止程序,因为下面的代码工作正常

//redirect to user page with username as query string
window.open(location.host + "/" + "User.aspx?user=" + user);