当我在浏览器中打开我的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。为什么没有加载?
答案 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);
});
});
如果您收到错误,请从那里查看。