我在类似这样的函数中有一个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是异步的,但这不行吗?我在return语句之前的错误函数内添加了console.log
输出,它可以正确输出数据。那么为什么它不返回数据呢?
答案 0 :(得分:2)
您所做的基本上是在函数内部声明函数
function foo(){
function bar(){console.log('in bar')}
}
console.log(foo())
如您所见,bar
没有被调用(在您的情况下将由jQuery
调用)