Почему этот setInterval-код работает для выполнения Ajax-запросов?

#jquery #ajax #ajax.net #javascript

#jquery #ajax #ajax.net #javascript

Вопрос:

У меня есть этот код:

 setInterval(sendAjax('search', 'q'), 100 * 10);
  

Я думал, что это сработает для выполнения моей функции sendAjax (параметр, param) каждые 1 секунду.

Однако это не тот случай. Он выполнил функцию только один раз.

Кто-нибудь знает, почему это происходит, и какие-либо решения?

С уважением, Тейлор

Комментарии:

1. попробуйте setInterval(function(){sendAjax('search', 'q');}, 1000);

Ответ №1:

Я думаю, вам нужно сделать следующее:

 setInterval("sendAjax('search', 'q')", 100 * 10);
  

Ответ №2:

Не похоже, что вы правильно используете setInterval().

Обычно он используется как:

 setInterval("aFunction()", 100 * 10);
  

Причина, по которой ваш скрипт вызывается один раз, заключается в том, что интерпретатор оценивает sendAjax (‘search’, ‘q’) один раз. Это единственный вызов, который он выполняет.

Проверьте эту ссылку в разделе setInterval():

http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/

Надеюсь, это поможет 🙂

Комментарии:

1. Так почему бы это не сработало? функция Refreshhajax() { sendAjax(‘search’, ‘q’); } setInterval(«REFRESHHAJAX», 100 * 10);

2. Вы забыли скобку ‘()’, как в : setInterval(«Refreshhajax()», 100 * 10); Надеюсь, это прояснило ситуацию 🙂