gpt4 book ai didi

javascript - 等待 $.post 完成

转载 作者:行者123 更新时间:2023-11-29 16:25:51 26 4
gpt4 key购买 nike

看来我的脚本不想等待 $.post 调用完成。那是个问题。这是一些伪代码:

<script type="text/javascript" language="javascript">
$(document).ready(function(){
// Global var, to be used everywhere in the ready scope
// Note its default value!
var test = false;
$.post('test.php',{},function(result){
if(result=='yes')
{
// This gets executed!
alert('Its true! Hurraaay!');
test = true;
}
else
{
test = false;
}
}

if(test==false)
{
// THIS gets executed, despite the fact that we set test to true!
alert('Awww....');
}
// it reaches this, showing us that there was no error!
alert('Im alive!!!');
// and a whoooole bunch of other code here...
}
</script>

确保我的 Post 调用在继续之前完成而不挂起浏览器的最佳方法是什么?希望不要太乱。 :)

最佳答案

正确使用回调不会太乱。

只需在 .post() 调用外部创建一些函数,并在您认为合适时在 .post() 内部调用它。您可以进行许多回调并以非常灵活的方式在 AJAX 调用中使用它们。

在您的情况下,因为您只调用了 alert(),所以不需要创建额外的函数 - 只需在 .post( ) 调用。如果您的代码变得更大,请考虑创建单独的函数。

这就是 JavaScript 和异步调用的工作方式。习惯它并利用它的力量编写非常干净和可维护的代码。

关于javascript - 等待 $.post 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230964/

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