$http не отправляет файлы cookie в запросах
мы работаем над веб-сервисом RESTful с Сервлетами AngularJS и Java.
Когда пользователь входит в систему, наш сервер отправляет заголовок "Set-Cookie"на интерфейс. В Angular мы получаем доступ к заголовку через $cookies (ngCookie-модуль) и установите его.

теперь, когда пользователь вошел в систему, он может, например, удалить некоторые вещи. Поэтому интерфейс отправляет запрос GET на серверную часть. Поскольку мы работаем на разных доменах, нам нужно установить некоторые заголовки CORS, а Angular делает опции запроса до фактического получения запрос:
параметры запроса:

сделать запрос

мы делаем это в Angular через $ http модуль, но он просто не будет отправлять cookie, содержащий JSESSIONID.
как я могу разрешить Angular отправлять куки?
2 ответов:
в вашей конфигурации, DI
$httpProviderа затем установите withCredentials в true:.config(function ($httpProvider) { $httpProvider.defaults.withCredentials = true; //rest of route code })информация об angularjs withCredentials:http://docs.angularjs.org/api/ng. $ http
какие ссылки на статью mozilla: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control#section_5
$http.get("URL", { withCredentials: true }) .success(function(data, status, headers, config) {}) .error(function(data, status, headers, config) {});еще одна вещь, чтобы иметь в виду: вам нужно есть сторонние куки включены. Если у вас он глобально отключен в Chrome, нажмите на "i"-символ слева от доменного имени, затем куки, затем "заблокирован" и разблокируйте целевой домен.
Comments