Ajax обратный вызов функции и цепочки Ajax-запрос с обратным вызовом - PullRequest
0 голосов
/ 27 февраля 2009

Хорошо. вот сценарий:

function DataFeed(){

  function PopulateData()
  {
    $('div#example').load('http://www.example.com', fxnCallBack);
  };

  function fxnCallBack()
  {
    PopulateData();
  }

  this.activator = function() {
    PopulateData();
  }

};

var example_obj = new DataFeed;
example_obj.activator();

В приведенном выше коде ajax .load выполняется один раз, затем выполняется обратный вызов. Но обратный вызов не запускает функцию ajax снова?

Заранее спасибо.

edit- почему не отображается новая строка -.-

1 Ответ

1 голос
/ 27 февраля 2009
InternalError: too much recursion

Движки JavaScript обычно имеют максимальное ограничение на количество рекурсий или время, которое может занять рекурсивное выполнение. Используйте setInterval вместо:

function DataFeed() {
    var interval;
    function PopulateData() { 
        $('div#example').load('http://www.example.com', function(data) {
            if(data == "clear_interval")
                interval = clearInterval(interval); // clear the interval
        }); 
    }

    this.activator = function() { 
        interval = setInterval(PopulateData, 1000); // run every second
    };
}
var example_obj = new DataFeed();
example_obj.activator();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...