Ajax-цикл неожиданно входит в блок - PullRequest
0 голосов
/ 29 декабря 2011

Привет, у меня есть ajax-скрипт:

function updatePage() {   
if (request.readyState == 4) {   
    if (request.status == 200)
        // get response array
        var data = JSON.parse(request.responseText); 
        update_select($('select[name=island_name]'), data);
    }
    else if (request.status == 404) {
        alert("Request url does not exist");
    }
    else {
        alert("Error: status code is " + request.status);
    }
}  

Сценарий выполняется нормально, но когда он появляется, я получаю предупреждение «Ошибка: код состояния равен 200».Почему скрипт входит в этот блок else, когда статус равен 200?Что я могу сделать, чтобы предотвратить это?

1 Ответ

1 голос
/ 29 декабря 2011

Условие if (request.status == 200) не имеет {.
Следовательно, его эффект составляет всего одну строку, а цепочка else s применяется к внешнему if.

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

function updatePage() {
    if (request.readyState == 4) {
        if (request.status == 200) 
            var data = JSON.parse(request.responseText);
        update_select($('select[name=island_name]'), data);
    } else if (request.status == 404) {
        alert("Request url does not exist");
    } else {
        alert("Error: status code is " + request.status);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...