como você configura CORS com Angular JS [closed]
Como configuro o Angular para enviar os cabeçalhos corretos ao fazer solicitações Ajax de domínio cruzado?
O que funcionou para mim:
Após cerca de um dia inteiro tentando encontrar uma resposta para configurar meu aplicativo Angular para trabalhar com o CORS, finalmente encontrei uma solução que funciona! Supondo que você tenha configurado o servidor corretamente - a única coisa que você precisa fazer no cliente é excluir o cabeçalho padrão na configuração do aplicativo.
angular.module('myApp').config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});
O cabeçalho X-Requested-With identifica a solicitação como uma solicitação AJAX e, por padrão, o domínio cruzado não é permitido. Então, tudo o que precisamos fazer é removê-lo de nossas configurações padrão e do BOOM! Funciona.
Para nossa aplicação, estamos usando um backend de reprodução (1.2.5) - A linha de código que precisávamos adicionar para fazer esse trabalho era:
Adicione cabeçalhos para permitir solicitações entre domínios. Tenha cuidado, muitos navegadores não suportam esses recursos e ignoram os cabeçalhos. Consulte a documentação dos navegadores para saber quais versões os suportam.
Parâmetros: allowOrigin uma lista separada por vírgula de domínios permitidos para executar a chamada de domínio x ou ""para todos. allowMethods uma lista separada por vírgulas de métodos HTTP permitidos, ou null para todos. allowCredentials Deixe o navegador enviar os cookies ao fazer uma solicitação de domínio x. Apenas respeitado pelo navegador se allowOrigin! =""
Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE,OPTIONS",false);