Javascript函数没有正确返回

Javascript函数没有正确返回,javascript,jquery,ajax,json,function,Javascript,Jquery,Ajax,Json,Function,我正在制作一个基于Laravel的CMS评论系统 我目前正在处理的逻辑是,当一条评论被删除时,我运行一个ajax调用来检查有多少条评论,如果没有更多的评论,那么我将显示一条消息“no comments” 除了最后一部分,我什么都做得很好 我的函数总是返回未定义 职能: function checkCommentCount($id){ var rootAsset = $('.rootAsset').html(); $.ajax({ url: rootAsset+'postcomme

我正在制作一个基于Laravel的CMS评论系统

我目前正在处理的逻辑是,当一条评论被删除时,我运行一个ajax调用来检查有多少条评论,如果没有更多的评论,那么我将显示一条消息“no comments”

除了最后一部分,我什么都做得很好

我的函数总是返回未定义

职能:

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));
它总是返回未定义的。我需要让函数返回一个数值,这样我才能进行检查

控制台日志在函数中工作正常,但如果我将其更改为:

return data.count;
然后函数将返回未定义的


有什么想法吗?

您的ajax调用是异步的。这意味着您的JavaScript函数不返回任何内容,稍后当ajax调用完成时,将调用成功/错误回调。

欢迎使用异步JavaScript,请稍候,让我查找复制。它将返回未定义的内容,因为ajax请求将始终延迟,使用
q
库来处理它,您可以使调用同步…这通常是个坏主意。除非您从函数返回全部承诺,否则您将不会返回任何内容-您将使用回调。