我编写了以下jquery代码块。当我的网站上更改了邮政编码时,此代码会运行,但只有在第一次更改邮政编码时才能完全运行。我在代码中放了三个警报。当代码块运行一次后,我没有达到第三个警报。我做错了吗?
$('#postcodefield').change(function(){
var newPC = $(this).val()
var areaData = null;
var MAPITURL = "http://mapit.mysociety.org/postcode/";
var postcodeUrl = MAPITURL + newPC;
$('#gpQueryTerm').val(newPC);
$.ajax({
type : 'GET',
async: false,
url : postcodeUrl,
dataType : 'json',
error: function(){
$('input[name=town]').val(6);
},
success: function(data){
alert('1');
areaData = data;
alert('2');
// Extract the ward number
ward = areaData.shortcuts.ward;
wardCode = areaData.areas[ward].codes.ons;
// now we have the ons, get the townsend value from the db
alert('3');
$.post("/tasks/getTownsend.cfm", {
code: wardCode
}, function(data){
$('input[name=town]').val(data);
});
}
});
});
提前致谢
詹姆斯
答案 0 :(得分:0)
如果从未调用第三个警报,则必须出现以下错误:
ward = areaData.shortcuts.ward;
wardCode = areaData.areas[ward].codes.ons;
鉴于问题中的数据是我能给出的最详细的答案。我建议你看看JSON响应并确保它符合你的预期。