Задать вопрос
@melickvadim

Jquery. IE не видит значения из $_SESSION. Как победить?

Не работает в IE 9, 10, 11.
В FF и Chrome работает.

На главной cтранице устанавливаю $_SESSION["step"] = 1
По кнопке посылаю $.post
После $.post выполняется перезагрузка страницы.
$.post('/', {catalog: 'setstep'}, function(e){
            window.location = e;
});

PHP устаналивает значение $_SESSION["step"] = 2

Smarty рисует hmtl в зависимости от значения $_SESSION["step"]
{if $smarty.session.step == 1} 
<div id="1">1</div>
{else}
<div id="2">2</div>


В браузерах появляется , в IE остается <div id=1>, причем значение $_SESSION["step"] == 2 (выводил через echo).
Если второй раз нажать кнопку, IE откроет страницу c <div id="2">
Пробовал разные header посылать, не помогает.
$.ajaxSetup({
		cache: false,
		dataType: 'text',
        contentType: "application/x-www-form-urlencoded; charset=utf-8"
	});
  • Вопрос задан
  • 2452 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Если после поста делается перезагрузка, то какой скаральный смысл делать ее яваскриптом?
Делай по-человечески, HTTP пост - HTTP редирект - и все будет у тебя работать.
Ответ написан
Комментировать
@melickvadim Автор вопроса
Видимо для того, чтобы на экране часы крутились, пока результат не вернулся. В PHP много чего происходит в это время.
Ответ написан
65536
@65536
session_write_close() в конце скрипта где-нибудь добавь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы