【问题标题】:Return Data from Ajax request [duplicate]从 Ajax 请求返回数据 [重复]
【发布时间】:2016-04-03 14:05:28
【问题描述】:

我从 ajax 中的 Requette 恢复数据。我想在函数中使用这些数据并返回它,但是当我调用函数时它什么也不返回

function getdata(nom_produit) {

    $.ajax({
        type: "POST",
        url: "traitement/panne/test_panne.php",
        data: {
            nom_produit: nom_produit
        },

        success: function(data) {
            var obj = jQuery.parseJSON(data);

            jQuery.each(obj["resultat"], function(index, value) {

            })
        }
    });
    return obj;
}

如何返回数据?

【问题讨论】:

  • 你不能这样回来。 $.ajax 是一个异步调用,所以当调用结果时 success 函数仍在等待执行

标签: javascript jquery json ajax function


【解决方案1】:

你不能这样回来。 $.ajax 是一个异步调用,因此当调用 return 时,您的 success 函数仍处于等待执行状态。您可以执行以下操作以达到相同的结果。

function getdata(nom_produit, callback) {

    $.ajax({
        type: "POST",
        url: "traitement/panne/test_panne.php",
        data: {
            nom_produit: nom_produit
        },

        success: callback
    });
}

从你调用这个函数的地方你可以做如下的事情

var successFunction = function(data) {
    hideOverlay(); // hide overlay once response is there

    // your code to process data and show in UI 
}

showOverlay(); // code to show loading image in UI till response comes
getData(someId, successFunction);

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 2016-12-02
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 2017-06-26
    • 1970-01-01
    相关资源
    最近更新 更多