gpt4 book ai didi

jquery - 如何让 jQuery 在失败时自动重试 load()?

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

我正在页面上的许多地方通过 jquery load() 进行一些内容替换。

<script>
$(document).ready(function(){
$('#row').load('/getStudentDetails',{studentId:3});
});
</script>

在我的开发服务器上一切正常。在我的实时服务器上,有时它会给我一个“请求无效”错误,我可以在 firebug 中看到该错误。我认为服务器已经不堪重负,或者某些缓存模块可能与多个请求混淆。我将尝试单独解决该问题,但也只是希望它在失败时重试相同的请求(一次)。有没有一种灵活的 jQuery 方法可以做到这一点?

最佳答案

这样的东西可能适合你。

function doAjax() {
$.ajax({
url: '/path/to/file',
type: 'GET',
dataType: 'html',
data: {studentId : 3},
error: function(xhr, textStatus, errorThrown) {
setTimeout('doAjax()', 5000);
}
});
}

如果您的服务器被淹没,我建议您使用 setTimeout 延迟一段时间,然后再重试,否则会对您的服务器造成更大的打击。

编辑:我没注意到你只说了一次。您可以将 setTimeout 包装在计数器中,这样递归就不会重复。或者,如果您决定希望它继续尝试,这是让它工作直到您得到响应的好方法。

关于jquery - 如何让 jQuery 在失败时自动重试 load()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298854/

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