gpt4 book ai didi

javascript - ajaxComplete 不触发以停止脚本

转载 作者:行者123 更新时间:2023-12-01 05:41:53 24 4
gpt4 key购买 nike

我一直致力于为 AJAX 请求制作一个简单的加载函数。 AJAX 对我来说还很陌生,所以我确信我只是在做一些愚蠢的事情!

ajaxStart 触发并开始加载 spinner.gif,但 ajaxComplete 不会触发,并且即使在延迟 1 秒后加载第二页结果后,gif 仍会继续旋转。 Jquery 已加载,第二页的 ajax 加载工作正常 - 一旦加载函数完成,它只是停止播放此加载 gif!有人有什么想法吗?谢谢!

<script>
$(document).ready(function() {

$(document).ajaxStart(function(load_a){
$("#wait_a").css("display", "block");
});


$(document).ajaxComplete(function(load_a){
$("#wait_a").css("display", "none");
});


var load_a = function () {
setTimeout(function(){
$('#ajax_content_a').load('http://localhost/a.php');},1000);
alert(exception);
}


load_a();


});
</script>

<div id="ajax_content_a">Loading...</div>
<div id="wait_a" style="display:none;width:120px;height:120px;border:0px;position:absolute;top:50%;left:50%;padding:2px;"><img src='http://localhost/loading_spinner.gif' width="120" height="120" /></div>

最佳答案

虽然这不能解决您的问题(好吧,实际上可能如此。但它不能解决问题的根源),但 ajaxComplete 从未被命中的原因很可能是因为某些原因在此之前就失败了。为了确保这一点,请添加以下代码片段:

$(document).ajaxError(function(event, jqxhr, settings, thrownError) {
console.log(event)
console.log(jqxhr)
console.log(settings)
console.log(thrownError)
alert('Ouch, ajax failed: ' + thrownError);
$("#wait_a").css("display", "none");
});

检查控制台以获取详细的错误消息。

ajaxComplete 通常应在发生错误后调用,但如果代码因错误而停止,则不应调用。

关于javascript - ajaxComplete 不触发以停止脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30218310/

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