PHP: использование setcookie в начале запроса AJAX не сохраняет cookie после запроса? - PullRequest
1 голос
/ 15 июля 2011

всякий раз, когда вызывается страница ajax, я запускаю:

setcookie($filtersCookie, $cookieVal, time() + 86400); // 1 day

, а когда страница обновляется, я использую следующий код, чтобы увидеть, были ли сохранены какие-либо прошлые фильтры:

if(isset($_COOKIE[$filtersCookie])) {

но файл cookie не существует после обновления страницы.какие-либо идеи относительно того, почему это может произойти?

setcookie используется перед любым выводом браузера из вызова ajax.

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Я не думаю, что браузер перехватит cookie при вызове ajax. Вы можете обойти это, например, установив cookie из javascript.

0 голосов
/ 15 июля 2011

Если ваши Ajax-скрипты находятся в другом каталоге, чем вызывающая страница, вам также следует использовать параметр path

setcookie($filtersCookie, $cookieVal, time() + 86400, "/"); // 1 day

По умолчанию cookie будет доступен из каталога, в котором установлен cookieиспользование "/" сделает его доступным для всех путей.

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