Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему скрипт отрабатывает в IE только при первом входе на сайт? (https://javascript.ru/forum/dom-window/31646-pochemu-skript-otrabatyvaet-v-ie-tolko-pri-pervom-vkhode-na-sajjt.html)

tygeddar 15.09.2012 19:52

Почему скрипт отрабатывает в IE только при первом входе на сайт?
 
Здравствуйте. Есть на странице функция
function watchDirectory(){
        $.ajax({
            url: '<? echo Yii::app()->createUrl('docnz/watchDirectory'); ?>',
            dataType : "json",                     // тип загружаемых данных
            success: function (data) { // вешаем свой обработчик на функцию success
                var list = document.getElementById('fileList');
                list.innerHTML="";
                $.each(data, function(key, value){
                    var li = document.createElement('LI');
                    li.innerHTML = value;
                    list.appendChild(li);
                });
                $( "#fileList" ).sortable();
                $( "#fileList" ).disableSelection();

            }
        });
    }


Она вызывается при загрузке странице и еще в одном месте. В firefox она отрабатывает всегда корректно, но в IE она отрабатывает только если зайти на сайт (т.е. Ни при перезагрузке страницы, ни при уходе и возврате на страницу, а только если полностью закрыть вкладку и снова зайти на сайт). При этом все остальные функции на странице продолжают работать. Никаких ошибок браузер при этом не показывает.

wayzer 15.09.2012 20:43

Поясните, пожалуйста, что она делает, изменяет url в адресной строке ?

tygeddar 15.09.2012 20:48

Хм, я думал это очевидно. Это ajax функция которая принимает от сервера json объект, на основе которого динамически заполняет список (ul) элементами (li).

tygeddar 20.09.2012 01:37

Спустя 5 дней, отвечаю на свой же вопрос. Оказывается IE кэширует ajax запросы, для решения этой проблемы нужно выполнять запрос методом POST.


Часовой пояс GMT +3, время: 16:40.