如何让AJAX查询在页面加载时立即执行,之后每3秒循环刷新?
解决方案
这个问题很好解决!你只需要把重复执行的AJAX逻辑抽成一个独立函数,然后在页面加载时先手动调用一次,再启动定时器就可以实现页面打开立即查询,之后每3秒自动刷新的效果。
修改后的代码示例:
// 把查询逻辑封装成独立函数 function updateCurrencyValue() { $.ajax({ url:"query.php?currency=<?=$currencycode;?>" }) .done(function(data) { $("#value").attr("value", data).attr("size", data.length - 2); }); } // 页面加载时立即执行一次,避免等待3秒 updateCurrencyValue(); // 之后每3秒自动执行一次 setInterval(updateCurrencyValue, 3000);
原理说明:
- 原来的代码只有
setInterval内的逻辑,所以第一次执行会在3秒后触发。 - 现在我们把AJAX请求封装成函数,先主动调用一次
updateCurrencyValue(),这样页面一打开就会立刻发起查询并更新输入框的值。 - 后续依然通过
setInterval每3秒调用这个函数,保持自动刷新的功能。
内容的提问来源于stack exchange,提问作者user6651317




