Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
jQuery/Javascript-在X秒后运行AJAX请求_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

jQuery/Javascript-在X秒后运行AJAX请求

jQuery/Javascript-在X秒后运行AJAX请求,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,所以我有这个代码: $('input.myinput').each(function(){ var id = $(this).val(); var myajax = function(){ $.ajax({ url: ajax_url, type: "GET", data: ({ code: id }), beforeSend: function() { },

所以我有这个代码:

 $('input.myinput').each(function(){
    var id = $(this).val();
    var myajax = function(){
      $.ajax({
        url: ajax_url,
        type: "GET",
        data: ({
          code: id
        }),
        beforeSend: function() {  },
        error: function(request){ },
        success: function(data) { alert(data); }
      });
      setTimeout('myajax()', 10000);
    }
    myajax();
 });
我希望上面的ajax()请求在页面加载10秒后运行,所以我使用了setTimeout,但它不起作用:( ajax东西在页面加载后立即运行,而不是在


我做错了什么?

我会做一些不同的事情

$('input.myinput').each(function(){

    var id = $(this).val();

    var myajax = function() {
      $.ajax({
        url: ajax_url,
        type: "GET",
        data: ({
          code: id
        }),
        beforeSend: function() {  },
        error: function(request){ },
        success: function(data) { alert(data); }
      });

      //if you need to run again every 10 seconds
      //setTimeout(myajax, 10000);

    };

    setTimeout(myajax, 10000);
 });
function myajax(id) {
  $.ajax({
    url: ajax_url,
    type: "GET",
    data: ({
      code: id
    }),
    error: function(request){ },
    success: function(data) { alert(data); }
  });
  setTimeout('myajax(id)', 10000);  // you really want it to run AGAIN in another 10 seconds?
}

...

$(document).ready(function() {
   $('input.myinput').each(function(){
      var id = $(this).val();
      setTimeout('myajax(' + id + ')',10000);
   });
});

当您可以声明一次并在每次调用中传入一个新的ID变量时,没有理由将myajax重新声明为每个输入的新函数。

我会做一些不同的事情

function myajax(id) {
  $.ajax({
    url: ajax_url,
    type: "GET",
    data: ({
      code: id
    }),
    error: function(request){ },
    success: function(data) { alert(data); }
  });
  setTimeout('myajax(id)', 10000);  // you really want it to run AGAIN in another 10 seconds?
}

...

$(document).ready(function() {
   $('input.myinput').each(function(){
      var id = $(this).val();
      setTimeout('myajax(' + id + ')',10000);
   });
});
没有理由对每个输入重新声明
myajax
作为一个新函数,因为每次调用都可以声明一次并传入一个新的ID变量