如何使用从jQuery的POST或GET方法返回的函数之外的数据?

我的问题是我通过jquery post方法获取一些数据..问题是,每当我获取数据时,我就能够在函数内部使用它,而实际上我希望该数据在函数外部使用。它不起作用...

function getlatlanfromjs() {
    $(document).ready(function() {
        var uid = $(".track_textbox").val();

        $.post("getLatLan.php", {userid: uid}, function(data) {
            var i;
            for (i = 1; i < 2; i++) {
                initialize(data[i]["latitude"], data[i]["longitude"]);
            }
        }, "json");

        alert(data[1]["latitude"]); //this is actually not alerting..  what is the reason ?
    });
}

最佳答案

因为此时数据变量超出范围。下面的代码会将数据分配给本地recievedData,您可以在处理函数范围之外使用它。虽然您仍然只能在请求完成后才能访问recievedData变量。

$(document).ready(function() {

    var recievedData;
    var uid = $(".track_textbox").val();


    var promise = $.post("getLatLan.php", {userid: uid}, function(data) {
        recievedData = data;
        var i;
        for (i = 1; i < 2; i++) {

            initialize(data[i]["latitude"], data[i]["longitude"]);

        }



    }, "json");

   promise.done(function() {
    alert(recievedData[1]["latitude"]); });

});

关于javascript - 如何使用从jQuery的POST或GET方法返回的函数之外的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23069584/

10-12 16:24
查看更多