如何将JSON响应存储到JavaScript中

时间:2012-12-24 12:14:20

标签: javascript json jquery

我正在尝试将JSON响应存储到变量中,以便我以后可以处理它,我尝试使用以下但是得到null,

function go(){
   var jsonObj = getJson(url);
   alert(JSON.stringify(jsonObj));
  }

function getJson(){
    return JSON.parse($.ajax({
        type: 'POST',
        url: 'url',
        dataType: 'json',
        global: false,
        async: false,
        success: function(data){
        return data;
        }
    }).responseText);
}

平均时间我可以看到JSON内容在我的服务器控制台上打印出来。

修改

谢谢你们!解决了这个问题。你的解决方案在IE8中运行良好,但Chrome和FireFox仍然在警报弹出窗口中显示“空”。我不认为它的浏览器具体修复..?

1 个答案:

答案 0 :(得分:1)

$.ajax({
        type: 'POST',
        url: 'url',
        dataType: 'json',
        global: false,
        async: false,
        success: function(data){
         // do some stufs or assign data to a var
         window.myVar = data;
        }
   });

Ajax是异步的,因此您需要将响应存储在回调中的变量中。 在这个例子中,window.myVar是一个包含响应数据的全局变量。在响应返回之前,您无法访问变量,您需要编写异步代码。