PHP AJAX JSON检查数据是否为空

时间:2015-01-12 21:48:48

标签: jquery ajax json

目前,我的代码是将合作伙伴代码发送到php脚本并返回JSON数据。

 $('a.pComment').on('click', function()
 {
   var partnercode = $(this).attr('data-code');
   if($.trim(partnercode) != '')
   {
     $.post('api/searchPComment.php', {partnercode: partnercode}, function(data)
     {
       var obj = JSON.parse(data);
       $('#pCodeComment').empty();
       $.each(obj, function(index, item)
       {
           $('<li>').
           text(item.datestamp+' - '+item.comment).
           appendTo($('#pCodeComment'));
       });
     })
   }
 });

以上代码有效。我能够查询数据库并将数据返回到模态窗口。

问题是,如果合作伙伴代码没有评论,则模式需要不返回评论。目前,如果您单击包含评论的链接,然后单击没有评论的链接,则没有评论的链接将显示上一条评论。

我需要清除最后的评论,或者检查一下发送的合作伙伴代码是否没有评论,只返回一个屏幕,上面写着&#34;没有评论。&#34;

我仍然是ajax的新手,所以一点帮助就是赞赏。

1 个答案:

答案 0 :(得分:0)

理想情况下,您应修复服务器端代码,并确认在没有注释时返回有效的json对象。现在你只在$ .post上定义了成功回调,所以如果返回时出现错误,则不会发生任何事情(所以最后一次点击事件的评论仍在那里)。

您还可以在不修改服务器端代码的情况下修复问题,同时还包括失败回调(注意:如果网络超时或类似情况,它也会运行失败功能)

 $.post('api/searchPComment.php', {partnercode: partnercode}, function(data)
 {
  // this is called on success only
  // ..rest of your code
 }.fail( function(){
   $('#pCodeComment').html( 'No Comment' );
 });