有一个登录表单,上面有登录按钮(不是服务器控件)。我想在结账后使用数据库登录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);
}
我要检查结果。一切都在正确的地方,但窗口。开放根本不工作!我该如何解决?
答案 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);