как настроить CORS с Angular JS [закрыто]
Как настроить Angular для отправки правильных заголовков при выполнении кросс-доменных Ajax-запросов?
Что сработало для меня:
Примерно после целого дня попыток найти ответ на настройку моего приложения Angular для работы с CORS, я наконец-то нашел решение, которое работает! При условии, что вы правильно настроили сервер - единственное, что вам нужно сделать на клиенте, это удалить заголовок по умолчанию в конфигурации вашего приложения.
angular.module('myApp').config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});
Заголовок X-Requested-With идентифицирует запрос как запрос AJAX - и по умолчанию кросс-домен не разрешен. Так что все, что нам нужно сделать, это удалить его из наших настроек по умолчанию и BOOM! Оно работает.
Для нашего приложения мы используем play backend (1.2.5) - строка кода, которую нам нужно было добавить, чтобы эта работа была:
Добавьте заголовки, чтобы разрешить междоменные запросы. Будьте осторожны, многие браузеры неt поддерживает эти функции и будет игнорировать заголовки. Обратитесь к браузерам документация, чтобы узнать, какие версии поддерживают их.
Параметры: allowOrigin список доменов, разделенных запятыми, которым разрешено выполнять вызов x-domain, или "" для всех. allowMethods - список разрешенных HTTP-методов, разделенных запятыми, или null для всех. allowCredentials Позволяет браузеру отправлять куки при выполнении запроса x-domain. Только уважаемый браузером, если allowOrigin! = ""
Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE,OPTIONS",false);