无法使用getJSON加载JSON数据

时间:2012-11-05 18:52:40

标签: javascript jquery json

当我在浏览器中打开我的JSON文件并将其放入控制台时:

var p = document.getElementsByTagName('pre');
for(i=0; i < p.length; i++) {

  var data = JSON.parse(p[i].innerHTML);
  var pc = data.postalcodes;


    for (var key in pc) {
                if (key == "800") {
                    alert("Postcode:" + key + ", name: " + pc[key].name);
                }
            }
}

工作正常。

现在我只想做同样的事情来加载JSON文件。我已经制作了这段代码:

<script type="text/javascript">
$(document).ready(function() {

    $("#postcode").focusout(function() {

      $.getJSON("postnr.json", function(json) {
            var data = json;
            var pc = data.postalcodes;
            for (var key in pc) {
                if (key == "800") {
                    alert(key + "yes" + pc[key].name);
                }
            }

        });

    });

})
</script>

但焦点输出没有任何反应,我认为这是因为没有加载JSON。为什么没有加载?

1 个答案:

答案 0 :(得分:1)

首先,这句话说它只会在元素#postalcode未聚焦后加载:

$("#postcode").focusout(function() {

所以我会删除它,只留下这个用于调试:

$(document).ready(function() {
  $.getJSON("postnr.json", function(json) {
    alert("postnr.json has been loaded");
  })
  .error(function(jqXHR, textStatus, errorThrown){
    alert("error: " + errorThrown);
  });
});

如果您收到错误,请从那里查看。