Как получение куки-файлов с angularjs с ответа http от сервера

он хотел консультировать следующее, у меня есть приложение, которое использует CORS, и я нуждаюсь в том, чтобы получить куки-файл, который мне возвращают ws Веба api. Наблюдая в браузере я вижу, что куки-файл идет в header как Set-Cookie. Уже я попытался с ngCookies AngularJS (Угловой 1) и оно не функционирует. На сервере я использую .net с c# и Коокьеаутентикатион де Овин.

introducir la descripción de la imagen aquí

Какой-то различный выбор??

this._$http.post('http://webapi:50830'+Utiles.prefijoApi(this._subscriptor) + 'cuenta/login', JSON.stringify(dto))
       .then(function (resultado) {
       var a = this._$cookies.get('Token');
           return resultado.data;
       }.bind(this), function (error) {
           return this._$q.reject(error.data);
       }.bind(this));

РЕДАКТИРОВАНИЕ

Я решил проблему с $httpProvider.defaults.withCredentials = true; и функционируй правильно для просьб в WebApi. Итак, я имею ту же проблему по отношению к controllers MVC с просьбами, и не нахожу способ это решать, какую-то идею??

2
задан 29.08.2019, 02:06
3 ответа

ты можешь включать ngCookies , добавляешь ссылку на файл .js

<script src="js/angular-cookies.js">

И также в твой модуль ['ngCookies'] и в конце концов в твоем драйвере ты делаешь вставку $cookies

$cookies.get('Token');
0
ответ дан 03.12.2019, 19:17
  • 1
    Комментарии не должны быть использованными для распространенных дискуссий; этот conversaci и # 243; n был , перемещенной в чат . – Miquel Coll 09.11.2016, 11:52
  • 2
    привет sioesi, resolví проблема для призыва к Веба services. Однако у меня есть та же проблема с призывом к controllers MVC, не enví в куки-файл в petició n и я нуждаюсь в ней, tenes какая-то идея о, как я смог быть решенным?? – alejandro 17.11.2016, 00:03
  • 3
    Как он не посылает ее? Сейчас ты можешь захватывать ее с углового? – sioesi 17.11.2016, 02:51
  • 4
    Не с углового я не могу захватывать ее, но поместив $httpProvider.defaults.withCredentials = true; enví в куки-файл автоматически в призыве к WebServices, но не в призыве к controllers MVC – alejandro 17.11.2016, 21:42

Согласно документации angularJS ты можешь получать headers ответа.

https://docs.angularjs.org / api / ng / service / $http

Только ты должен показывать это ему в функцию, что ты выполняешь внутри "then":

this._$http.post('http://webapi:50830'+Utiles.prefijoApi(this._subscriptor) + 'cuenta/login', JSON.stringify(dto))
       .then(function (resultado, status, headers) {
       var a = headers['Set-Cookie'];

           return resultado.data;
       }.bind(this), function (error) {
           return this._$q.reject(error.data);
       }.bind(this));

Также ты можешь делать один console.log (headers), чтобы убеждаться, которого контент, что поиски он там.

Приветствие.

0
ответ дан 03.12.2019, 19:17
  • 1
    Я это сделал и Headers состоит undefined, не в том, что он может быть, prob и # 233; больших форм и не функционирует ни одна. – alejandro 08.11.2016, 23:19

Если уже ты имеешь доступ в response headers в твоем app AngularJS (Угловой 1), другой способ поддерживать твой Token внутри app - с:

$window.localStorage

Ты Создаешь услугу (factory) и ahГ - ты объявляешь твой setToken и getToken.

angular.module('app').factory('nombreDelServicio', ['$window', nombreDelServicio]);

function nombreDelServicio($window) {
    var storage = $window.localStorage;
    var cachedToken;
    setToken: function(token) {
      cachedToken = token;
      storage.setItem('token', angular.toJson(token));
    },
    getToken: function() {
      if(!cachedToken)
        cachedToken = storage.getItem('token');

      return cachedToken;
    }
}

Ты Делаешь инъекцию твоей услуге в драйвер, и когда ты получаешь headers Веба api, распределяешь token таким образом:

nombreDelServicio.setToken(response.headers('nombre-de-tu-header'));

, Когда ты захочешь прочитать твой token таким образом:

var token = nombreDelServicio.getToken();

TambiГ©n существует один mГіdulo, что, чтобы занимать локальный window, storage называется: Угловые - local-storage

0
ответ дан 03.12.2019, 19:17
  • 1
    Así также я я не функционирую, с $httpProvider.defaults.withCredentials = true; я решил проблему для призыва к Веба services. Сейчас проблема, которая у меня есть, - с призывом к controllers MVC, в котором я нуждаюсь tambié n получать куки-файл и я не получаю ее. – alejandro 12.11.2016, 01:07