0

ブラウザで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がロードされていないためだと思います。なぜロードされないのですか?

4

1 に答える 1

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);
  });
});

エラーが発生した場合は、そこから確認してください。

于 2012-11-05T19:29:43.410 に答える