Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax回调函数范围&;用回调链接Ajax请求_Javascript_Object_Scope - Fatal编程技术网

Javascript Ajax回调函数范围&;用回调链接Ajax请求

Javascript Ajax回调函数范围&;用回调链接Ajax请求,javascript,object,scope,Javascript,Object,Scope,嗯。以下是场景: function DataFeed(){ function PopulateData() { $('div#example').load('http://www.example.com', fxnCallBack); }; function fxnCallBack() { PopulateData(); } this.activator = function() { PopulateData(); } }; va

嗯。以下是场景:

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函数吗

提前谢谢

编辑-为什么它不能正确显示新行--

InternalError: too much recursion
JavaScript引擎通常对递归次数或递归执行所需时间有一个最大限制。改用设置间隔

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();

嗯,那不是我想要的。我希望在回调函数中实现一些逻辑来决定是否需要检索更多的数据。如果($‘DIV-例子TR’)对这个想法表示了长期的感谢。我会考虑这样做,如果它没有按照我想要的方式去做。“Jace:我改变了我的答案,告诉你如何实现CurnNealTepe来停止递归。