function countComments() {
$.ajax({
url: '/comments/' + id,
type: 'GET',
dataType: 'json',
async: 'true',
success: function(comments) {
console.log(comments + "count");
$('.btn-dis').html('total' + comments.length );
}
});
}
$('#btnComment').click(function(e) {
e.preventDefault();
console.log('post comment');
// pass in the form object
postComment( $(this).parent().parent(), 'comment' );
// title, body, refId, commentorId, commentorName
countComments();
$('textarea#comment').val('');
});
现在,我每次发表评论时都要刷新它。总计应在点击按钮后“自动”或“立即”显示评论数量以发表评论。
非常感谢任何帮助。
答案 0 :(得分:1)
如果使用setInterval解决问题,这将每隔3秒更新一次评论计数。如果你愿意,你可以用毫秒改变它的给定时间
$('#btnComment').click(function(e){
e.preventDefault();
console.log('post comment');
// pass in the form object
postComment( $(this).parent().parent(), 'comment' );
// title, body, refId, commentorId, commentorName
countComments()//loads the comment after clicking button instantly
setInterval(countComments(),3000);//and check for update counts every 3 seconds
$('textarea#comment').val('');
});
答案 1 :(得分:0)
在postComment回调中更新你的评论数。
像:
function postComment() {
$.ajax({
url: '/comments/add',
type: 'POST',
dataType: 'json',
cache: false,
success: function(data) {
// Comment accepted..
if (data.status == "ok") {
console.log(data.comment_count);
}
}
});
}
并将您的服务器设置为使用json传递评论发布结果,如:
{status: "ok", comment_count: 19283}
答案 2 :(得分:0)
你的评论countComments();一旦功能被调用 postComment($(this).parent()。parent(),'comment');成功回复成功或发布完整评论
也使用async:false
它应该像
$('#btnComment')。点击(function(e){
e.preventDefault();
console.log('post comment');
// pass in the form object
if(postComment( $(this).parent().parent(), 'comment' )){
// title, body, refId, commentorId, commentorName
countComments();
}
$('textarea#comment').val('');
});