函数返回undefined。我应该使用回调吗?

时间:2016-01-18 23:11:20

标签: javascript

我正在尝试从JavaScript函数返回值。

这是功能:

function db_check(field_id, data_type, value) {
    $.ajax({
        url: 'ajax-php.php',
        type: 'post',
        dataType : 'json',
        data: { 'db_check': 'true', 'field_id': field_id, 'value': value, 'data_type': data_type },
        success: function (data, status) {
            alert(data);
            return data; 

        },
        error: function (xhr, desc, err) {
            console.log(xhr);
            console.log("Details: " + desc + "\nError:" + err);
        }
    }
}

当函数运行时,alert(data);返回好的数据。但是如果我在其他函数中的某个地方使用它,比如Ex;

var result = db_check(field_id,data_type,value);
alert(result);

然后警报没有显示数据,而是返回undefined。

我认为这与回电有关。如果我理解正确,那是因为警报(结果);在从db_check()函数获取数据之前执行。

有人可以告诉我如何让这个工作。

修改

我知道这是重复但我很难理解什么接缝是一个非常好的解释因为他们使用不同的术语,如foo,结果,回调一遍又一遍所以我很难弄清楚他们代表什么!无论如何,我会继续努力,我最终会得到它。

0 个答案:

没有答案