Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 jqueryajax请求在每个请求上都呈指数增长_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jqueryajax请求在每个请求上都呈指数增长

Javascript jqueryajax请求在每个请求上都呈指数增长,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用jqueryajax调用从api获取信息并存储它。我遇到的问题如下: 第一次打电话时,一切似乎都正常。当第二次调用(1分钟后)再次调用时,只会发生一次调用,但如果第三次调用2次sendData函数,则会调用第四次4次sendData函数 请告诉我哪里出了问题。提前谢谢 $(document).ready(function() { $(function ajaxCall() { $.ajax({ url: "https://blockchain.info/ticker

我使用jqueryajax调用从api获取信息并存储它。我遇到的问题如下:

第一次打电话时,一切似乎都正常。当第二次调用(1分钟后)再次调用时,只会发生一次调用,但如果第三次调用2次sendData函数,则会调用第四次4次sendData函数

请告诉我哪里出了问题。提前谢谢

$(document).ready(function() {
  $(function ajaxCall() {
    $.ajax({
      url: "https://blockchain.info/ticker",
      method: "GET",
      dataType: "json",
      crossDomain: true,
      processData: true,
      async: false,
      success: function(resp) {
        if (resp != null) {
          alert(resp);
          var myJSON = JSON.stringify(resp);
          alert(myJSON);
          sendData(myJSON);

          setInterval(ajaxCall, 1000 * 60);
        } else {
          alert("something went wrong");
        }
      }     
    });
  });

我建议您将调用方法移到Ajax的complete方法:

$(document).ready(function () {
    $(function ajaxCall() {
        $.ajax({
            url: "https://blockchain.info/ticker",
            method: "GET",
            dataType: "json",
            crossDomain: true,
            processData: true,
            success: function (resp) {
                if (resp !== null) {
                    alert(resp);
                    var myJSON = JSON.stringify(resp);
                    alert(myJSON);
                    sendData(myJSON);


                } else {
                    alert("something went wrong");
                }
            },
            complete: function () {
                setInterval(ajaxCall, 1000 * 60);
            }
        });
    })
});

每一次成功的召唤,你都会有一个间隔。。。。。是否要使用
setTimeout
?请删除
async:false
。这是非常糟糕的做法。您还可以在每次我再次需要数据后删除包装
ajaxCall()
函数的jQuery对象,这就是我使用setInterval的原因