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变量