Можно ли отправлять заголовки в запросе AJAX? - PullRequest
3 голосов
/ 18 февраля 2010

Могу ли я позвонить на сервер, чтобы установить новый файл cookie с помощью запроса AJAX (то есть после того, как страница уже загружена)?

Например, когда посетитель нажимает на ссылку, ajax открывает phpфайл, который устанавливает новый файл cookie следующим образом:

setcookie('cookiename', 'true', time()+3000, "/",'...');

Но это делается после того, как html (страница, содержащая фактически нажатый тег <a>) был обработан.Тем не менее, можно ли устанавливать куки в ajax?(возможно, потому что загруженный файл php отделен от исходной HTML-страницы).

Ответы [ 3 ]

3 голосов
/ 18 февраля 2010

Ответ сервера может быть установлен cookie, конечно. Помните, что куки - это вещь HTTP, а не HTML; тот факт, что ваш оригинальный HTML-файл уже есть в браузере, не имеет значения. Ваш ajax-запрос - это отдельный HTTP-запрос к серверу, который (надеюсь!) Генерирует HTTP-ответ обратно в браузер; и этот ответ может включать новый заголовок Set-Cookie.

Я не человек PHP, вам нужно проверить, есть ли ограничения в механизме PHP, который вы используете для установки cookie (я не могу себе представить, что они есть). Но, в принципе, нет, это не проблема. Я сделал это как с JSP, так и с классическим ASP.

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

Я установил куки в ответ на запросы AJAX на своем сайте, и у меня еще не было проблем с ним. (Хотя я не искал проблем.) Возможно, некоторые браузеры не устанавливают куки при получении их в XmlHttpRequest, но до сих пор я видел, как они работают в IE, Chrome и Firefox.

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

Почему бы не использовать JavaScript для редактирования файлов cookie? Верните содержимое файла cookie в формате JSON и используйте JavaScript для хранения значений.

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