我正在基于Laravel的CMS上建立评论系统。
我目前正在处理的逻辑是删除评论时,我运行ajax调用以检查有多少条评论,如果没有其他评论,那么我会显示一条消息'没有评论&#39 ;
我有一切正常,但最后一部分。
我的函数总是返回undefined。
功能:
function checkCommentCount($id){
var rootAsset = $('.rootAsset').html();
$.ajax({
url: rootAsset+'postcommentcount/'+$id,
type: 'post',
cache: false,
dataType: 'json',
data: $(this).serialize(),
success: function(data) {
if (data.success) {
//return +data.count;
console.log(data.count);
}
},
error: function(xhr, textStatus, thrownError) {
alert('Something went to wrong.Please Try again later...');
}
});
}
这正确记录了通过JSON返回的count变量。所以PHP方面很好。
但是,如果尝试在其他地方运行该功能:
console.log(checkCommentCount(1648));
它总是返回undefined。我需要让函数返回一个数字值,以便我可以进行检查。
控制台日志在该函数中工作正常,但如果我将其更改为:
return data.count;
然后该函数将返回undefined ...
有什么想法吗?
答案 0 :(得分:-2)
您的ajax调用是异步的。这意味着您的JavaScript函数不返回任何内容,稍后当ajax调用完成时,将调用您的成功/错误回调。