Основная ошибка JQuery в IE не воспроизводима - что я могу сделать в этой ситуации, чтобы решить эту ошибку? - PullRequest
3 голосов
/ 28 мая 2010

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

По сути, для некоторого класса пользователей Windows IE игра не работает (или $ .ajax () не работает).

Что я знаю:

  • Я поменял местами вызов ajax (ajax_init_trainer) и использовал стандартную ссылку с некоторыми параметрами запроса для инициализации, и ppl, похоже, проходил мимо проблемы, пока они не достигли следующего вызова ajax.

Я где-то читал, что IE делает сумасшедшее кэширование, поэтому вам нужно сделать URL-адреса уникальными, поэтому я добавил параметр _requestno. Тем не менее, установка кеша: false, как говорят, также делает это. Это не помогло тому, кто жаловался.

function done(res, status) {
       var data = JSON.parse(res.responseText);
       hide_loading();
       if (status == "success") {
               window.location.href="/bamo/battle/?{{ fb_sig}}";
       }
       else {
           display_alert("Problem!",data.msg,$("#notifications"));
       }
};

$(".monster_select_class").click(function() {
       $(this).attr("src","{{MEDIA_URL}}/bamo/button_select_click.png");
       monster_class = $(this).attr("monster_class");
       monster_type = $(this).attr("monster_type");
       ajax_init_trainer(monster_class,monster_type);
   });

function ajax_init_trainer(trainer_class,monster_type) {
       var data = {trainer_class:trainer_class,monster_type:monster_type};
       var d = new Date();
       var args = { type:"POST",url:"/bamo/api/init_trainer/?_requestno="+d.getTime(),data:data,contentType:"application/json;", dataType: "json",cache:false,complete:done};
       $.ajax(args);
       return false;
};

Ответы [ 2 ]

1 голос
/ 28 мая 2010

У меня была проблема, похожая на эту. Оказалось, что я настроил сервер на использование текстовой кодировки, которую IE не понимает: «UTF8». Я изменил его на «UTF-8», и это решило проблему. Это устанавливается в заголовке ответа http. Если заголовок ответа имеет кодировку, которую IE не распознает, Fttzzt.

Я не знаю, в этом ли проблема, но вы можете это проверить.

Если что-то связано с ошибкой $ .ajax, то при использовании IE определенно внимательно посмотрите на заголовки запроса и ответа. Используйте http://www.fiddler2.com/fiddler2/

1 голос
/ 28 мая 2010

У меня всегда такие проблемы в IE только из-за "." или же ";" неуместен или отсутствует ... как правило, это IE 7 жалобщик ...

Приведенный выше текст это совет:)

Кстати: у вас есть ссылка, чтобы проверить это твоя проблема?

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