Кажется, плагин jQuery Cookie не устанавливает cookie - PullRequest
0 голосов
/ 18 февраля 2011

Мой код устанавливает cookie с помощью javascript (используя плагин cookie для jQuery), затем выполняет ajax-вызов php-скрипта, который должен прочитать этот cookie. Похоже, что плагин cookie jQuery содержит ошибку, потому что скрипт PHP не может прочитать этот cookie. Кроме того, когда я просматриваю панель «Ресурсы» в Chrome, я не вижу cookie в соответствующем домене. Кроме того, если я установил cookie-файл, используя стандартный метод document.cookie Javascript, cookie-файл ДОЛЖЕН появиться на панели ресурсов, и мой PHP-скрипт сможет его прочитать. Основная причина, по которой я хочу использовать плагин jQuery, заключается в том, что значение cookie, которое я устанавливаю, имеет разрывы строк, и плагин cookie jQuery, кажется, справляется с этим элегантно. Это значение будет сохранено в базе данных MySQL, и эти разрывы строк будут автоматически преобразованы в (br) и (p) теги при выводе. Таким образом, плагин cookie jQuery, кажется, дает мне желаемое значение ... но не в реальном cookie!

В любом случае, вот код, который я использую. Не стесняйтесь просто рассказать мне, как поддерживать нужные мне разрывы строк, не используя плагин cookie jQuery, а не пытаться выяснить, что не так с плагином / моей реализацией плагина.

Javascript:

$.cookie('flavor','chocolate',{expires:7});
$.get('http://example.com/readCookie.php',function(data){
    console.log(data);
});

readCookie.php

$myCookie = $_COOKIE['flavor'];
echo $myCookie;

Вышеприведенный оператор 'echo' вообще ничего не отображает, даже пустая строка. Если я попробую var_dump с файлом cookie, я получу NULL. Я могу, однако, ввести $ .cookie ('flavour') в консоль и увидеть, что он действительно установлен. Но, как я уже говорил, он не отображается на панели «Ресурсы» инструментов разработчика Chrome, поэтому я не уверен, что это действительно настоящий файл cookie… и мой PHP-скрипт, похоже, тоже согласен с этим сомнением :)

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

В коде, который вы разместили, вы устанавливаете cookie-файл «flavour» на стороне клиента и пытаетесь прочитать cookie-файл «comment» на сервере. Имеет смысл для меня, что вы ничего не получаете.

Возможно, это просто ошибка с вашей стороны при публикации вопроса.

Так что же происходит, когда вы указываете AJAX-запрос на

'http://' + window.location.host + '/readCookie.php'

Или даже просто

'/readCookie.php'

Файлы cookie зависят от домена.

0 голосов
/ 18 февраля 2011

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

Почему бы base64 не кодировать значение cookie?

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