2010-04-07 74 views
1
$("#post").live("click",function() 
{ 
    $("input:checkbox[name='bookmarkid']:checked").each(function() 
    { 
     $.post("php/socialbookmark-post.php", {bookmarkID: $(this).val()},function(data) 
     { 
       if(data != "") alert(data); 
     }); 
    }); 
}); 

仅当出现错误时,php文件才输出一些文本。如果数据为空并显示一条空消息,则检查确实失败。我需要解决这个问题。有任何想法吗?jQuery检查返回的数据对象是否为空

回答

6

您可以改为检查是否存在的数据,这样的:

if(data && data !="") alert(data); 

datanull你的情况,并null != "",所以if在流逝。

+0

仍然存在相同的问题。必须是其他一些检查方式....或者你可以发布如何检查特定的字符串是否在返回数据?这将解决问题,而不是检查它是否为空。 – user253530 2010-04-07 03:05:59

+1

@ user253530 - 如果你做'alert(data.length);'你会得到什么? – 2010-04-07 10:06:15

0

如果数据为空,则条件检查data !== ''它会产生虚假

if(data !== 'undefined' && data !== ''){ 
console.log('data is not empty') 
} else { 
console.log('data is empty') 
} 
0

我也面临着同样的问题。如果数据未从ajax返回,数据块将不会执行。但是,找到一种方法,通过参考jQuery的阿贾克斯文件解决:

http://api.jquery.com/jQuery.ajax/

通过我们使用的做,如果不返回的数据也不会执行的研制成功方法的实现。相反,失败方法会被调用。参考

fail(function())