gpt4 book ai didi

javascript - 在函数之后延迟 window.open()

转载 作者:行者123 更新时间:2023-11-29 11:36:44 24 4
gpt4 key购买 nike

我有这个 insertData() 函数来保存到数据库并根据数据库的条目显示 window.open()所以这是我的尝试,

function(isConfirm){
if (isConfirm) {
insertData();
window.open("../../../html/reports/cashreceipt_print.php?sr_record="+sr_id);
} else {
swal("CANCELLED", "", "error");
}
});

function insertData(){
$.ajax({
type: 'POST',
url: "../../../html/main/divpages/submit_data.php",
data: sentReq,
dataType: 'JSON',
success: function (response, textStatus, jqXHR) {
if (response.indexOf("GAGAL") == -1) {
window.location.href = "main.php";
} else {
alert("GAGAL INSERT");
}
}
});
}

所以当新窗口打开时,这里的问题是,sr_record= 大多数时候不会显示在弹出窗口中。 SR_RECORD 将被插入,窗口打开将调用刚刚在 insertData() 中插入的 SR_ID。我可以找到最适合我的情况的任何解决方案。请帮助我

最佳答案

insertData 是 AJAX,A 代表异步,因此当您调用 window.open 时它还没有完成,请使用您拥有的 success 函数或使用 jquery 的 .done 方法:

$.ajax({
url: "test.html",
context: document.body
}).done(function(data) {
// do your 'data' stuff here
});
<小时/>
$.ajax({
type: 'POST',
url: "../../../html/main/divpages/submit_data.php",
data: sentReq,
dataType: 'JSON',
success: function (response, textStatus, jqXHR) {
// your sr.id is hopefully on the response object( if its being sent back properly.
}
});

关于javascript - 在函数之后延迟 window.open(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com