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