代码之家  ›  专栏  ›  技术社区  ›  user2896120

错误的Ajax返回调用未返回[重复]

  •  -2
  • user2896120  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我在函数内部有一个ajax调用,如下所示:

    function send_data(url, data) {
        $.ajax({
            url: url,
            type: 'POST',
            data: data,
            success: function (data) {
                //Empty for now
            },
    
            error: function (xhr) {
                return xhr.responseJSON;
            },
    
        });
    }
    

    然后我像这样触发这个函数:

    console.log(send_data(url, data));
    

    我应该收到响应输出,但我没有收到。相反,我没有定义。我知道JavaScript是异步的,但这不应该奏效吗?我添加了一个 console.log 在返回语句之前,在错误函数内部输出,并正确输出数据。为什么不返回数据呢?

    1 回复  |  直到 6 年前
        1
  •  2
  •   apple apple    6 年前

    你所做的基本上就是在函数内部声明函数

    function foo(){
      function bar(){console.log('in bar')}
    }
    
    console.log(foo())

    如你所见, bar 未被调用(在您的情况下 jQuery )