Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
Php setInterval,ajax请求_Php_Javascript_Jquery_Ajax_Setinterval - Fatal编程技术网

Php setInterval,ajax请求

Php setInterval,ajax请求,php,javascript,jquery,ajax,setinterval,Php,Javascript,Jquery,Ajax,Setinterval,获取ajax请求的最佳方法是什么 我的每次调用javascript函数都会越来越快 我不知道为什么 代码如下: $(function(){ getSuggestions(); }); function getSuggestions(){ var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions'; var data ={} var result = myAjaxJson(dat

获取ajax请求的最佳方法是什么

我的每次调用javascript函数都会越来越快 我不知道为什么

代码如下:

$(function(){
getSuggestions();
});

function getSuggestions(){
    var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions';
    var data ={}
    var result = myAjaxJson(data,url); //gets json object via ajax

/* gets object 'sug' and put into #suggestions-list*/
    $('#suggestions-list').html(result.sug);

    var a = setInterval("getSuggestions()",5000);
}

每次调用getSuggestions时,都会启动新的setInterval。把它放在外面:

$(function(){
    var a = setInterval("getSuggestions()",5000);
});
代替

$(function(){
    getSuggestions();
});

并从getSuggestions方法中删除setInterval代码。

每次调用getSuggestions时,都会启动新的setInterval。把它放在外面:

$(function(){
    var a = setInterval("getSuggestions()",5000);
});
代替

$(function(){
    getSuggestions();
});

并从getSuggestions方法中删除setInterval代码。

这里有一种递归双循环

试试这个:

$(function(){
   var a = setInterval("getSuggestions()",5000);
});

function getSuggestions(){
    var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions';
    var data ={}
    var result = myAjaxJson(data,url); //gets json object via ajax

/* gets object 'sug' and put into #suggestions-list*/
    $('#suggestions-list').html(result.sug);


}

这里有一个递归的双循环

试试这个:

$(function(){
   var a = setInterval("getSuggestions()",5000);
});

function getSuggestions(){
    var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions';
    var data ={}
    var result = myAjaxJson(data,url); //gets json object via ajax

/* gets object 'sug' and put into #suggestions-list*/
    $('#suggestions-list').html(result.sug);


}

不要使用setInterval,使用setTimeout。setInterval每5秒调用一次函数,无论上一个Ajax请求是否完成。setTimeout将在上一个Ajax请求后等待5秒,以启动下一个Ajax请求:

$(function(){
getSuggestions();
});

function getSuggestions(){
    var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions';
    var data ={}
    var result = myAjaxJson(data,url); //gets json object via ajax

/* gets object 'sug' and put into #suggestions-list*/
    $('#suggestions-list').html(result.sug);

    var a = setTimeout("getSuggestions()",5000);
}

不要使用setInterval,使用setTimeout。setInterval每5秒调用一次函数,无论上一个Ajax请求是否完成。setTimeout将在上一个Ajax请求后等待5秒,以启动下一个Ajax请求:

$(function(){
getSuggestions();
});

function getSuggestions(){
    var url = $("#baseUrl").val() + '/placement/suggestions/x-fetch-suggestions';
    var data ={}
    var result = myAjaxJson(data,url); //gets json object via ajax

/* gets object 'sug' and put into #suggestions-list*/
    $('#suggestions-list').html(result.sug);

    var a = setTimeout("getSuggestions()",5000);
}

请添加
myAjaxJson
的实现,您应该等待英特尔ajax完成,然后启动
setInterval
setInterval
将重复调用该函数,不止一次:请添加
myAjaxJson
的实现。您应该等待英特尔ajax完成,然后启动
setInterval
setInterval
将重复调用该函数,而不仅仅是一次: