Можно ли получить значение Set-Cookie из HTTP-заголовка ответа в JavaScript? - PullRequest
6 голосов
/ 26 августа 2011

Я использую метод ajax() jQuery , чтобы сделать некоторые асинхронные вызовы на сервер и хочу отследить случай, когда вызов завершается неудачно из-за истечения времени сеанса.

Из просмотразаголовки ответа в этом случае, я вижу, что они включают

Set-Cookie: SMSESSION=LOGGEDOFF

, что выглядит довольно надежным тестом.Но вызов getAllResponseHeaders для объекта XMLHttpRequest, переданного обратному вызову jQuery error, по-видимому, возвращает пустую строку, и у меня возникают проблемы с поиском любого другого способа получения этой информации заголовка.

Возможно ли это

Ответы [ 2 ]

1 голос
/ 03 мая 2016

Если вы прочитаете спецификацию W3 XHR, вы увидите, что они не позволяют вам получить доступ к заголовку ответа set-cookie через вызов getAllResponseHeaders('Set-Cookie').

См. 4.7.3. Метод getResponseHeader ():

Точка 3: "Если заголовок является нечувствительным к регистру совпадением для Set-Cookie или Set-Cookie2, вернуть ноль."

http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders%28%29-method

jfriend00 также оставил этот ответ в комментариях выше, но я подумал, что этот вопрос может использовать законный ответ.

0 голосов
/ 17 октября 2013

Если документ находится в том же домене и пути, используйте интерфейс document.cookie. Если cookie имеет атрибут http-only, он недоступен

...