Mootools Request () работает только один раз за сеанс IE9 - PullRequest
2 голосов
/ 22 июня 2011

Выпуск:
У меня есть объект Mootools Request, который отправляет запрос GET в скрипт PHP. Скрипт возвращает массив идентификаторов. В каждом браузере, кроме IE, каждый раз, когда создается новый экземпляр объекта Request, он попадает в сценарий бэкэнда PHP - без проблем. НО с IE это только каждый попадет в скрипт PHP один раз за сеанс браузера. Если я очищаю кеш, он снова перенаправляется на сервер, но после перезапуска браузера или обновления кеша.

Вопрос:

  • IE как-то блокирует мои запросы с помощью кеширования?
  • Если да, я могу что-то изменить, чтобы IE не блокировал запросы?

Примечание:

  • Проблема присутствует на IE9 и на IE9 в режиме совместимости. я не проверено на старых версиях IE.
  • Использование Без кэширования по всей странице это не вариант.
  • Я использовал инструкцию error_log () в своем скрипте, чтобы проверить, было ли достигнуто или нет.

Вот мой код:

requestIDs : function() {
        new Request({
            url : "/identity/idGenerator.php?generate_ids",
            method : "get",
            onSuccess : function(response) {
                this.container.set('html', '');
                var idList = response.split(",");
                console.log(idList.join(","));
            }.bind(this)
        }).send();
    }
});

Ответы [ 2 ]

2 голосов
/ 22 июня 2011

Вам нужно запретить IE кешировать запрос, вот одно из решений.
И правильное решение, встроенное в mootools, - инициализация запроса с параметром config noCache:true

var myRequest = new Request({...
                             ...
                             noCache:true,
                             ...
                             ...);
1 голос
/ 22 июня 2011

Используйте method: 'post' для предотвращения кеширования IE.

...