如何将ajax JSON对象存储到要在函数外部访问的全局变量中

时间:2015-05-08 07:05:38

标签: javascript jquery ajax json

如何存储,成功函数将数据返回到全局变量。

$("form").on("submit", function () {
    var data = {
        "action": "test"
    };
    data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "ajax2.php",
        data: data,
        success: function (data) {
            //How to store the above data into a global variable?
            $("#main_content").slideUp("normal", function () {
                for (i = 0; i < data.length; i++) {
                    $(".the-return").append("<div class='inside_return'>Name:" 
                            + data[i].name + "<br/>Id:" 
                            + data[i].id + "<br/>Pricing:" 
                            + data[i].rate + "<br/>Postcode:" 
                            + data[i].postcode + "<br/>Reputation:" 
                            + data[i].reputation + "<br/>Review Plus:" 
                            + data[i].plus + "<br/>Review Negative:" 
                            + data[i].neg + "<br/><h1>Availability</h1>Week Morning:" 
                            + data[i].weekM + "<br/>Week Afternoon:" 
                            + data[i].weekA + "<br/>Week Evening:" 
                            + data[i].weekE + "<br/>Weekend Morning:" 
                            + data[i].endM + "<br/>Weekend Afternoon:" 
                            + data[i].endA + "<br/>Week Evening:" 
                            + data[i].endE + "</div>");
                    //alert(data[i].name) 
                }
            }); //closes #main_content
        }
    });
    return false;
});

此ajax仅在提交搜索表单时执行。在php查询返回结果后,我想让用户对json对象的数据进行排序。为了做到这一点,我需要将对象(在这种情况下为数据&#39;)存储到一个全局变量。它&#39;因为我有一个函数会利用这些数据来执行排序!

2 个答案:

答案 0 :(得分:4)

为此定义global variable

var newData;
$("form").on("submit", function () {....
//Your code
...
success: function (data) {

  newData = data; //Assign the `data` to the global variable here
  ....

现在您可以在AJAX之外访问newData

答案 1 :(得分:0)

如果要在脚本中使用,请将其保存在函数外的变量声明中。

或者,如果您想在任何地方使用页面内使用:

window.viewData.storeData=data;