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