请求Ajax - 我无法操纵返回

时间:2018-05-27 01:49:12

标签: javascript json ajax return

晚上好人,

我有以下请求AJAX:

function getJson(url) {
    var json;
    $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        async: false,
        success: function (data)
        {
            alert(data);
            json= data;
        }
    });
    return json;
}

执行时,它会在Chrome的网络标签上显示json。但我无法在警报和返回时操纵变量数据。代码有问题吗?

1 个答案:

答案 0 :(得分:0)

您误解了异步功能。当JS运行 $ .ajax 时,它不会等待它继续完成代码。因此,当您return json;在定义之前返回它时。您将不得不通过使用嵌套回调,promises或async / await来重构代码。这是异步编程新手遇到的常见问题,对学习者来说可能非常令人沮丧。