Как открыть новое окно с JavaScript и использовать существующий сеанс родительского окна? - PullRequest
1 голос
/ 08 января 2010

Я открываю окно с window.open и теряю сеанс сервера. Есть ли способ открыть окно с помощью Javascript и использовать тот же сеанс?

Мне нужно, чтобы это работало в IE 7 и выше.

Я работаю с ASP.NET на стороне сервера. Сервер не имеет состояния cookie без сеанса. <sessionState mode="InProc" timeout="15" />

Ответы [ 2 ]

1 голос
/ 08 января 2010

Похоже, вы включили состояние сеанса без файлов cookie.

Подход для ASP.NET похож на одно упоминание Pekka для PHP, но вам нужно вызвать

window.open("/(S(<%= Session.SessionID %>))/NewPage.aspx");

Или измените ваш web.config, чтобы принудительно использовать файлы cookie для сеансов.

1 голос
/ 08 января 2010

Я не знаю, с каким языком на стороне сервера вы работаете, но обычно вы можете использовать параметр GET для заполнения вашего сеанса в новом окне.

В PHP вы можете использовать что-то вроде этого:

window.open("newurl.php?PHPSESSID=<? echo session_id(); ?>");

Я думаю PHP продолжает сеанс, используя идентификатор, который он получил таким образом (на самом деле никогда не пробовал, но должен работать). Если нет, вы бы проверили наличие переменной GET и принудительно установили идентификатор сеанса для скрипта, используя session_id () с идентификатором в качестве параметра перед session_start().

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