JQuery阅读JSON(全局/局部变量)

时间:2013-03-18 21:58:10

标签: jquery json global-variables

所以我试图将数据从JSON分配给全局变量以便以后多次使用它,但是我遇到了这个问题。第一个警报通过,但是对于第二个警报,我无法读取未定义的第4个警报。

  var refference=[]
  $.getJSON('letters.json', function(data) {
              refference=data.letters
              alert(refference[1][4])
        })
  alert(refference[1][4])

谢谢!

2 个答案:

答案 0 :(得分:5)

第二个alert(refference[1][4])会给您一个错误,因为在那个时间点,$.getJSON()请求尚未返回。所以refference对象仍然是[],因此属性4未定义。

答案 1 :(得分:1)

正如Kevin B所说,警报在ajax呼叫完成之前就开始了。您必须在ajax请求的成功回调中放置第二个警报(或任何其他函数),以确保在数据完全加载后触发它。

类似的东西:

$.getJSON('letters.json', function(data) {
              refference=data.letters;
              alert(refference[1][4]);
        }).success(function(){
                    alert(refference[1][4]);
                  });

Here's a working jsFiddle example using a JSON webservice