gpt4 book ai didi

javascript - JavaScript 中 "SetInterval"的意外行为

转载 作者:行者123 更新时间:2023-11-30 09:28:53 25 4
gpt4 key购买 nike

我有一个向 servlet 发出请求的 JavaScript。该请求有效,但我无法让它以 1 秒的指定时间间隔重复。我究竟做错了什么?

我对前端开发和 JavaScript 还很陌生。

$(document).ready(function() {
$('#userName').blur(function(event) {
var name = $('#userName').val();
setInterval($.get('JqueryServlet', {
userName : name
}, function(responseText) {
$('#ajaxResponse').text(responseText);}), 1000);
});
});

最佳答案

setInterval 有效 with the arguments setInterval(callbackFunction, timingInMilliseconds)

看起来您正在将对 $.get 的调用直接放在 callbackFunction 参数中。不幸的是,这不起作用,因为您调用 $.get 的结果是作为参数传递的,而不是函数本身。即使您确实传递了该函数,也不会使用正确的参数调用它。

而是将其包装在匿名函数调用中或将其放入函数中,如下所示:

function getServlet() {
// code
}
setInterval(getServlet, 1000); // to go off every 1 second

或者:

setInterval(function() {
// code
}, 1000);

如果您坚持在 setInterval 中直接使用 $.get,您可以使用如下内容:

 setInterval(function(a,b,c){

console.log(a + b +c);

}, 500, "a", "b", "c");

在大多数浏览器中(参见上面的链接),您可以在调用时使用 setInterval:

setInteval(callbackFunction, timingInMilliSeconds, callbackArg, callbackArg, ...);

关于javascript - JavaScript 中 "SetInterval"的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47614430/

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