У меня есть приложение, которое использует Ajax-вызов для извлечения переменных сеанса с помощью PHP-скрипта. Во всех браузерах это работает идеально, но в IE 11 это происходит только после перезагрузки страницы. Поэтому, когда страница загружается, Ajax-вызов возвращает null, но когда я перезагружаю страницу, он возвращается.
$.ajax({
type: "GET",
url: "/ajax/fetch/session",
success: function(data) {
obj_fields = $.parseJSON(data);
console.log(obj_fields);
}
});
Поскольку я использую это в многостраничной форме, когда значения каждой страницы сначала сохраняются в сеансе, я заметил, что, например, когда я заполняю первую страницу, отправляю на следующую страницу, мне нужноперезагрузить, чтобы получить сессию. Переходя со страницы 2 на страницу 3, загружаются переменные сеанса со страницы 1, но те, которые сохраняются со страницы 2 только после перезагрузки страницы. Единственное, о чем я могу думать, это то, что IE требуется некоторое время для хранения переменных в сеансе.
Это правильно? Как я могу наилучшим образом решить проблему, подобную этой?
Или возвращаемые значения вызовов Ajax каким-то образом кэшируются в IE?
Я уже пробовал с задержкой в 5 секунд перед выполнением вызова Ajax, ноэто тоже не работает. Только при перезагрузке страницы