Расстраивающий цикл в Internet Explorer с использованием метода jQuery live - PullRequest
1 голос
/ 12 августа 2010

Долгое время читатель, первый постер.

Работаю над веб-сайтом по адресу http://www.howardpitch.com/,, и у меня очень неприятное время с тестом на первой странице.Вы выбираете один из четырех ответов и нажимаете кнопку «Проверить мой ответ».Это скажет вам, если вы были правы или не правы, и предоставит вам кнопку для следующего вопроса.Вы можете играть в это весь день в Firefox, Chrome и т. Д., Но в Internet Explorer он повторяет один и тот же вопрос после того, как вы отвечаете на первый.

Метод live jQuery используется с событием click для обработки полученияследующий вопрос и возвращение его на главную страницу через вызов AJAX, поскольку кнопка «Следующий вопрос» не существует, когда DOM загружается впервые.

Любые указания / улучшения в моем коде очень приветствуются.Конструктивная и уместная критика - это то, как мы учимся.

Это то, что я имею на стороне jQuery.

$('.btnCheckAnswer').live('click', function(e){ $.ajax({ url:'/includes/quiz-check.php', type:'POST', data:$('#frm_quiz').serialize(), success:function(data){ $('#game').replaceWith(data); } }); e.preventDefault(); return false; });<br> </p> <pre> $('.nextQuestion').live('click', function(e){ $.ajax({ type:'GET', url:'/includes/quiz.php', success:function(data){ $('#game_response').replaceWith(data); } }); return false; }); </pre> <p>

Спасибо, очень любезноавансовый.

1 Ответ

1 голос
/ 12 августа 2010

Это может быть проблема с кешированием. Попробуйте установить для параметра cache значение false и / или использовать прерыватель кэша (который представляет собой случайное число или метку времени, передаваемую вместе с URL):

$('.nextQuestion').live('click', function(e){
    $.ajax({
        type:'GET',
        cache: false,
        url:'/includes/quiz.php?' + Math.round(new Date().getTime() / 1000),
        success:function(data){
            $('#game_response').replaceWith(data);
        }
    });
    return false;
});

Вы также можете попробовать использовать запрос POST.

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