Удалить куки из jquery ajax звонков - PullRequest
4 голосов
/ 04 июля 2011

Я бы делал вызовы jquery ajax, отбрасывая каждый cookie, чтобы я мог иметь новый сеанс для каждого вызова.

Есть ли способ сделать это?

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

AJAX-запрос является именно HTTP-запросом (XMLHTTPRequest).Файлы cookie отправляются туда и обратно в заголовках запроса-ответа AJAX, чтобы поддерживать состояние сеанса пользователя для нескольких запросов HTTP.

HTTP является протоколом без сохранения состояния, и, следовательно, файлы cookie используются для поддержания состояния пользователя.сеанс с несколькими HTTP-запросами.

Вместо удаления файлов cookie разместите все свои статические компоненты (например, изображения) в домене, не содержащем файлов cookie.Следующий URL может дать вам некоторую информацию в этом,

http://www.ravelrumba.com/blog/static-cookieless-domain/

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

Как отметил Харун, возможно, вам следует рассмотреть более широкое решение, чем удаление файла cookie сеанса, который изменит весь сеанс пользователя , а не только ваш AJAX-вызов.

Чтобы ответить на ваш вопрос, вы можете удалить файл cookie, который вы установили (при условии, что вы установили его самостоятельно, а не другим фреймворком):

$.cookie("session", null);
$.ajax( url, [settings] )

Но, это , вероятно, не очень хорошее решение , потому что вы будете удалять весь сеанс пользователя при каждом вызове ajax. Вы должны рассказать нам больше о том, что вы делаете, чтобы мы могли вам помочь.

...