gpt4 book ai didi

jquery ajax() 异步 false

转载 作者:行者123 更新时间:2023-12-03 22:07:37 26 4
gpt4 key购买 nike

我有问题..

for(a=1;a<10;a++){
$(".div").append("<div id="+a+"></div>")
$.ajax({
url: "file.php",
data: "a="+a,
type: "POST",
async: false,
success: function(data) {
$("#"+a).html(data);
}
});

}
$("div").click(function(){
alert("it works");
});

问题是:是我没有把来自 file.phpasync: false 数据放在最后一个 div 中,所以 id 为 9但现在有 async: false - 所以数据位于每个 div 中,这样很好

但是如果我想在通过ajax加载时点击它,它就不起作用(只有在完成所有ajax-es之后)

如何解决这个问题? (也许错误的是我使用的是ajax。我可以使用getJSON等..)

感谢您的帮助

最佳答案

如果您希望用户能够在 ajax 调用运行时使用该界面,您应该将 async 更改为 true。 James Allardice 还指出,在这种情况下,您需要使用 javascript 闭包来保留原始 id 的值,以便在 ajax 调用返回时使用。有关 javascript 闭包的更多信息请查看 how-do-javascript-closures-work ,在 stackoverflow 上发现了一个非常好的问题。

for(id = 1; id < 10; id++){
$(".div").append("<div id='" + id + "'></div>");

(function(id) {
$.ajax({
url: "file.php",
data: "a=" + id,
type: "POST",
async: true,
success: function(data) {
$("#"+ id).html(data);
}
});
}(id));
}

关于jquery ajax() 异步 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246961/

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