2

В файле script.js. Первая часть устанавливает куки

// установка куки
$.ajax({
    type: "POST",
    url: "name.php"
});

Содержимое файла name.php

setcookie('cookie', 'cookie', time()+(60*60*24),  '/');

Вторая часть файла script.js должна читать и выводить в на экран

 $.ajax({
         type: "POST",
         url: "file/cooc.php"
     })
     .done(function(msg) {
         $('#fn').html(msg);
     });
 });

Содержимое файла cooc.php

$newname = $_COOKIE['cookie'];
echo $newname;

В браузере сама кука появляется, но через фаил name.php не определяется. В чем может быть дело?

2
  • setcookie() не обновляет автоматически массив $_COOKIE, если вы про это.
    – etki
    27 июл 2014 в 21:00
  • Не совсем понял? Допустим, но при обновлении стреицы кука остается, но ее по прежнему не прочитать из файла cooc.php. Я пробовал даже в самом файле ее устанавливать и тут же читать, но результата нет 27 июл 2014 в 21:29

2 ответа 2

3

Добавьте в конструкцию ajax headers: {'Cookie' : document.cookie }, тогда куки будут передаваться в заголовке и вы сможете из вызвать в cooc.php.

$.ajax({
        type: "POST",
        url: "file/cooc.php",
        headers: {
            'Cookie': document.cookie
        }

    })
    .done(function(msg) {
        $('#fn').html(msg);
    });
});
0

Используйте плагин jquery.cookie для динамической работы с Cookie (без перезагрузки страницы).

Ссылка на Git

Пример: $.cookie('name', 'value');

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.