目前,我的代码是将合作伙伴代码发送到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的新手,所以一点帮助就是赞赏。
答案 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' );
});