Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

No 'Access-Control-Allow-Origin' header is present

Tive a mensagem de erro abaixo, no fim desse capítulo. A leitura no servidor foi ok, mas não está conseguindo salvar no servidor.

Como resolver isso? Valeu

?ionicplatform=ios#/finalizarpedido/%7B%22nome%22:%22Fiesta%202.0%22,%22preco%22:52000%7D:1 XMLHttpRequest cannot load https://aluracar.herokuapp.com/salvarPedido?carro=Fiesta+2.0&preco=52000. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.25.7:8100' is therefore not allowed access. The response had HTTP status code 404.

5 respostas

Opa jenipapos, tentei acessar o endereço https://aluracar.herokuapp.com/salvarPedido?carro=Fiesta+2.0&preco=52000 e deu que ele não existe.. pode ser que esse endereço só aceite post e o servidor esteja me retornando 404(não deveria, mas ok). Ou pode ser que vc tenha colocado o endereço errado...

solução!

Jenipapos, esse erro foi reportado e solucionado nesse topico https://cursos.alura.com.br/forum/topico-como-habilitar-o-cors-25652

Dê uma olhada depois para ver se te ajuda, mas resumindo, erro no CORS é do lado do servidor, portanto verifique a requisição caso tenha passado algum parâmetro, método, corpo...algo que não seja aceito por tal serviço.

Oi Alberto. Na verdade está dando erro 500. O problema só ocorre quando a função dá erro. Quando eu preencho os campos certinhos, não dá erro nenhum. Veja o erro abaixo.

XMLHttpRequest cannot load https://aluracar.herokuapp.com/salvarpedido?carro=Sentra+2.0&preco=53500. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.25.7:8100' is therefore not allowed access. The response had HTTP status code 500.

Creio que estou usando o endereço correto, conforme passado no exercício:

var url = 'https://aluracar.herokuapp.com/';
    return {
        obterCarros: function () {
            return $http.get(url).then(function (response) {
                return response.data;
            });
        }

...

Vitor, obrigado pelo link, eu não havia achado o outro tópico. O problema ainda não foi resolvido, mas eu vou continuar no outro tópico, pra não duplicar. Obrigado. Renato

Jenipapos, desculpa incomodar pois você ja fechou o caso, porém dei uma ultima olhada e cliquei nessa url que você mencionou "https://aluracar.herokuapp.com/salvarpedido?carro=Sentra+2.0&preco=53500" e o me retornou a seguinte mensagem

" Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. There was an unexpected error (type=Internal Server Error, status=500). No message available "

Como você disse, este problema só ocorre quando é gerado um erro. O que ocorre é que o servidor não está preparado para te retornar um erro, seja ele uma mensagem ou simplesmente um status, portanto o servidor gera um erro genérico/inesperado, ou seja, o status 500 que é erro de servidor, pois o servidor não sabe o que fazer quando o erro acontece. Você está fazendo tudo correto, o problema é que o servidor deveria estar preparado para te responder quando ocorre um erro.

Ok Vitor, entendi, ele enviou um erro genérico. Obrigado!