我有一个使用setTimeout循环ajax的函数。但是我希望它在成功数据包含东西时停止 - 但如果它是空的则保持循环。我按照这些思路思考了一些问题,但这对我不起作用,
function update(url){
jQuery.ajax({
url: url,
data: {some:data},
success: function(data) {
if(responseText.data=='') {
setTimeout(update,5000);
}
if(responseText.data!='') {
jQuery('stuff').html(data);
}
}
});
}
update(url);
答案 0 :(得分:0)
请删除responseText
。它应该是
if(data=='')
{
setTimeout(update,5000);
}
else
{
jQuery('stuff').html(data);
}
答案 1 :(得分:0)
BTW我还会重构你的条件陈述并使用else if
。它只是更好的语法。
function update(url){
jQuery.ajax({
url: url,
data: {some:data},
success: function(data) {
if(data=='') {
setTimeout(update,5000);
}else if(data!='') {
jQuery('stuff').html(data);
}
}
});
}
update(url);