jquery代码块只成功一次

时间:2012-03-01 16:25:18

标签: jquery post

我编写了以下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);
            });
        }
    });
});

提前致谢

詹姆斯

1 个答案:

答案 0 :(得分:0)

如果从未调用第三个警报,则必须出现以下错误:

ward = areaData.shortcuts.ward;
wardCode = areaData.areas[ward].codes.ons;

鉴于问题中的数据是我能给出的最详细的答案。我建议你看看JSON响应并确保它符合你的预期。