Я новичок в веб-разработке и в angularJS. Я знаю, как перехватить ответ, используя угловые перехватчики. Теперь я хочу добавить файлы cookie к этому ответу, к которому можно получить доступ позже, используя $cookieStore.get('DEMO_COOKIE')
. Как мне это сделать? В основном я хочу знать, следующий участок кода:угловой: как установить файлы cookie в перехваченный заголовок ответа?
angular.module('APP').factory('myInterceptor', function() {
return {
response: function(response) {
// code here for modifying incoming response by adding cookies to it
/*
Or Is this the right way to do it?
response.headers()['Set-Cookie']= 'DEMO_COOKIE=demo_session; expires=Sat, 18 Oct 2014 23:38:25 GMT; username=public; role=public';
*/
return response
}
}
})
angular.module('APP').config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('myInterceptor');
}]);
С текущего кода я получаю неопределенное значение для $cookieStore.get('DEMO_COOKIE')
. Однако, если вышеуказанный код является правильным, чем это может быть связано с некоторой другой ошибкой в моем коде. Спасибо заранее ...
выше решение работает, но я думаю, что это можно сделать с помощью любого доступного глобально массива (а не только $ CookieStore) .so таким образом его не модификации исходного заголовка ответа, в этом решении $ cookieStore просто работает как глобальная служба для передачи данных. На самом деле, я работаю в беззащитной среде, и я пытаюсь имитировать точный ответ с сервера, который содержит файлы cookie в своих заголовках. Я создал виртуальный бэкэнд с использованием grunt, который служит для ответа, но я не могу использовать cookie через него. если я ошибаюсь). Есть ли способ достичь этого? – Abdul23