Переменная JS cookie потеряна после публикации - PullRequest
0 голосов
/ 17 ноября 2009

main.php:

    <div id="test" class="test">
          <?php  include("data.php");?>
    </div>

data.php: В этом php у меня есть несколько запросов, а затем распечатывается список ... Каждый список в своем собственном теге DIV, и весь тег DIV "закрывается" при загрузке страницы, кроме последнего, который открыл пользователь. Я использую cookie, чтобы сохранить идентификатор DIV, чтобы узнать, что мне нужно открыть при перезагрузке страницы.

JS PART:

   var test= $.cookie('test_cook');
   $('div[class*="test"]').hide();
   var op = $.cookie("test_cook");
   alert(op);
   $('div.test' + op).show();

   $('input:image').click( function() {
   var nr = $(this).attr('id').substr(7,2);
   $('div.test' + nr).toggle(400);
   $.cookie("test", nr, {expires:1 });

});

PHP PART:

В searctest.php выведите список того, что пользователь может искать и, если он хочет, отправить в базу данных.

  include("searchtest.php");   

Если я перезагружаю или закрываю страницу, то cookie работает хорошо, последний открытый тег DIV остается открытым. Но после того, как пользователь выполнит поиск и выполнит POST, переменная cookie будет пустой.

Не могли бы вы предложить мне что-нибудь, как я могу обойти это?

Ответы [ 2 ]

0 голосов
/ 17 ноября 2009

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

<?php setcookie(cookieName,$_COOKIE["cookieName"],time, domain,... ); ?>

Я думаю, что это не лучшее решение ... но оно может работать.

Один вопрос. Путь почтового запроса находится в том же пути? Например, если файл cookie действителен в пути / example / и ваше сообщение отправляется по другому пути / example2 / файл cookie не будет работать в / example2 / path. В этом случае вы можете объявить cookie в корневом пути (/), но я не знаю, как это сделать в этом плагине JQuery.

Удачи и прости за мой плохой английский.

0 голосов
/ 17 ноября 2009

Используйте Ajax вместо публикации. Таким образом, контекст локальной страницы не стирается.

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