JQueryAjax成功后弹出窗口不会打开
Popup wont open upon JQuery Ajax success
我无法打开changeuserjudge.php。我已经把它放在其他几个地方,但没有取得任何成功。有人能告诉我为什么会这样吗?
JQuery:
$('#userCreateSave').click(function(){
var success = false;
var createUserName = $('#createUserName').val();
var createUserEmail = $('#createUserEmail').val();
var createUserType = $('#createUserType').val();
if (jQuery.trim($('#createUserEmail').val()).length<1){
alert ("Please enter an email address.");
return false;
}
else {
$.ajax({
type: "POST",
url: "adminmenu.php",
data: 'createUserName=' + createUserName + '&createUserEmail=' + createUserEmail+ '&createUserType=' + createUserType,
success: function(){
success = true;
$('#newCreateRow').remove();
$('#tableUsers tr:first').after('<tr class="altr"><td>-</td><td>'+createUserName+'</td><td>'+createUserEmail+'</td><td>'+createUserType+'</td><td>Active</td></tr>');
$('#newUserLink').show();
}
});
}
if(success) {
window.open("changeuserjudge.php");
}
});
为什么不把开放放在成功函数中呢。从而确保在ajax调用完成时调用它。它不会将其设置为true,因为ajax是异步
ajax中的第一个a表示异步,这意味着成功回调在正常流中调用,因此在if(success)
语句之后调用。您应该将window.open("changeuserjudge.php");
放入成功回调中。
创建一个名为success()
的函数,并在请求完成后执行它,而不是设置一个称为success
的布尔值。您的代码不能按预期工作,因为success
在$.ajax()
调用后立即为false。
执行模式:
.ajax()
success == false
AJAX已完成:设置success = true
功能结束
一种可能的实现方式:
var success = function(){
window.open("changeuserjudge.php");
}
$.ajax({
type: "POST",
url: "adminmenu.php",
data: 'createUserName=' + createUserName + '&createUserEmail=' + createUserEmail+ '&createUserType=' + createUserType,
success: function(){
success(); //Execute the callback function: `success()`
$('#newCreateRow').remove();
$('#tableUsers tr:first').after('<tr class="altr"><td>-</td><td>'+createUserName+'</td><td>'+createUserEmail+'</td><td>'+createUserType+'</td><td>Active</td></tr>');
$('#newUserLink').show();
}
});
}
您应该包括
window.open("changeuserjudge.php");
在sucess回调函数中,还要确保登录以查看sucess函数是否已执行
console.log("success")
您创建的局部变量success与选项success无关,它总是错误的。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- ajax成功响应和firefox弹出窗口阻止程序
- 在 Ajax 调用中 Firefox 中的弹出窗口阻止程序问题已成功
- 弹出窗口关闭并刷新成功登录Facebook的父页面
- 如何在 AJAX 成功后关闭模式窗口
- 弹出窗口关闭后如何显示成功消息
- 模式弹出窗口上的 Jquery 验证和成功消息
- 如何确定是否成功加载弹出窗口
- 使用JavaScript在父窗口成功打开iFrame表单
- Facebook OAuth登录成功,无法返回初始窗口,仅适用于IE
- JQueryAjax成功后弹出窗口不会打开
- 我如何打开一个模式窗口后,成功的AJAX调用
- 窗口.打开如果成功的jQuery函数
- 我可以确定单击链接是否成功打开了一个新窗口/选项卡
- 在表单提交后的同一弹出窗口中显示成功消息
- 在ajax成功处理程序中阻止了弹出窗口
- 成功执行Ajax操作以打开另一个弹出窗口
- 打开社交登录的新窗口,然后关闭并返回Django成功的家长
- 如何在用户成功注册后创建弹出窗口,而无需 servlet
- 如果用户登录成功,弹出窗口关闭,然后'网站转到链接