Блок кода JQuery только успешно один раз - PullRequest
0 голосов
/ 01 марта 2012

Я написал следующий блок кода 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 голосов
/ 01 марта 2012

Если третье предупреждение никогда не вызывается, то должна быть ошибка с:

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

Учитывая данные в вопросе, это самый подробный ответ, который я могу дать. Я предлагаю вам взглянуть на ответ JSON и убедиться, что это именно то, что вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...