jQuery ajax重新加载,直到非空数据

时间:2014-01-29 05:23:52

标签: ajax

我有一个使用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);

2 个答案:

答案 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);