gpt4 book ai didi

javascript - jquery ajax 调用成功后继续运行脚本

转载 作者:行者123 更新时间:2023-12-02 20:12:54 25 4
gpt4 key购买 nike

我有一个点击函数,其中有一个弹出窗口,一旦 ajax 调用成功,我需要打开该窗口。我尝试设置 async: false 。我尝试将弹出窗口放入 ajax 调用中,但这会使弹出窗口被浏览器阻止。我的最后一次尝试是设置一个超时,直到 ajax 调用完成,但每次都没有成功。有什么建议吗???

var currentStatus = "false";
var success = "false";

function waitForSuccess(){
if (success == "false"){
var t = setTimeout("waitForSuccess()", 300);
}
else{
stopTimer(t);
return "true";
}
}
function stopTimer(t){
clearTimeout(t);
}

function checkReps(clicked){
$.ajax({
cache: false,
url: "chat_new_files/chat_new.php",
success: function(data){
success = "true";
}
});

$('#chatT').live('click', function (event) {
success = "false";
checkReps("true");
var changed = waitForSuccess();
if(changed == "true"){
BG.startChatWithIssueId('0', true); //THIS IS THE POPUP
}
});

我认为我最后一次尝试 setTimeout 的逻辑困惑了。那么关于如何解决这个问题有什么想法或者一个全新的想法吗?谢谢!

最佳答案

success: 函数中打开用于 ajax 调用的弹出窗口。这是您双方都知道 ajax 调用已完全成功并且您可以访问 ajax 调用返回的数据的唯一地方。

不要使用计时器来尝试猜测 ajax 函数何时完成。

关于javascript - jquery ajax 调用成功后继续运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739106/

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