Загрузка jQuery не отражается IE - PullRequest
       10

Загрузка jQuery не отражается IE

0 голосов
/ 09 сентября 2010

У меня есть код, который, в зависимости от выбранного элемента в раскрывающемся меню, загружает некоторые дополнительные элементы управления (отдельный контент для индекса == 0 против индекса> = 1). Выбранный элемент начального выбора предварительно устанавливается на стороне сервера. У меня есть проблема с перезагрузкой / кэшем, когда пользователь изменяет, но не отправляет форму, а затем нажимает перезагрузить. Первоначально я загружал запуск по умолчанию с сервера, но перезагрузка браузера привела к неверному состоянию формы, так как он (особенно IE) запоминал последние выбранные - но не отправленные - управляющие значения, если пользователь нажал на обновление. Итак, у меня есть этот код. Работает нормально в других браузерах, но в IE контент не отображается.

$(window).load(function(){
    $.ajaxSetup({cache: false})
    var theProduct = '';
    if ($('#chooseProduct').attr('selectedIndex') > 0) {
        theProduct = '&product=' + $('#chooseProduct').val();
    }
    setEvent($('#chooseProduct').attr('id'), 'product_req');
    $('#productSubselection').load(
        '/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np' + theProduct//,
    );
    $(document).ready(function(){ 
        $('#chooseProduct').change(function(Event){
            setEvent($('#chooseProduct').attr('id'), 'product_req');
            $('#productSubselection').load(
                '/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np', $(this).serialize()//,
            );
        });
        $('#browseall').click(function(Event){
            deleteCookie('product_req');
        });
    });
});

Используя логирование / оповещения, я могу подтвердить, что IE выполняет вызов нужного контента. Если я помещу URL-адрес AJAX-вызова в обычное окно IE, я получу ожидаемый контент - правильно сформированный HTML-код. Ни IE, ни какой-либо другой браузер не выдают никаких ошибок JS. Я попытался поместить начальную часть кода в событие «готово», но это не имеет значения. Я делаю что-то явно не так?

1 Ответ

0 голосов
/ 10 сентября 2010

Аплогии для монолога, просто дать этот ответ, чтобы связать тему.Проблема оказалась в неправильном кодировании (mea culpa) пробела в строке параметра theProduct, переданной с URL-адресом load.Результат был достаточно тонким, чтобы не выдавать ошибки там, где я ожидал их, поэтому я предположил, что это проблема с jQuery / событием.После этого я смог поместить все в $(document).ready(function(), и jQuery работал так, как предполагалось изначально.Мораль?Не забывайте быть внимательным в отношении кодировки текста при добавлении строк в запросы GET.

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