如何在预先声明的变量中存储AJAX查询的结果?

时间:2017-03-16 14:53:46

标签: jquery ajax

$("#btn").click(function() {
    var data;
    getData();
    // use data...
}

function getData() {
    $.ajax({
        // Usual AJAX key-value pairs...
        success: function(response) {
            // Set data = response
        }
    });
}

如何在处理函数中声明的 data 变量中将响应存储到AJAX请求中?

我想使用处理程序函数内服务器返回的值。

我有没有办法不用禁用异步检索。

1 个答案:

答案 0 :(得分:0)

根据您的要求,您可以执行以下操作,但我建议在回调本身内部运行您的逻辑,因为Javascript不会等待ajax响应完成后再继续执行该函数。

var getData = function( callback ) {

    $.ajax({
        success: function( response ) {

            callback( response );

        }
    });

};

$('#btn').on('click', function(evt) {

    var data;

    getData(function(response) {
        data = response;

        //you should use data here

    });

});