Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Problema con API y CORS

3 de agosto de 2017

Hola:

Tengo una API en Symfony cuya url es:

A la que llamo desde otra pagina con javascript:

app.getDataCard = function(card) {
        var url =  'http://card2card.ceroone.com/card2card/web/api-data/get-data-card/carlos-gude'; 
       var request = new XMLHttpRequest();
       request.onreadystatechange = function() {
           if (request.readyState === XMLHttpRequest.DONE) {
               if (request.status === 200) {
                   var response = JSON.parse(request.response);
                   console.log(response);
               }
           }
       };
       request.open('GET', url);
       request.send();
   };

Y me da este error:

Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en http://card2card.ceroone.com/card2card/web/api-data/get-data-card/carlos-gude (razón: falta la cabecera CORS 'Access-Control-Allow-Origin').

En el .htaccess: Header set Access-Control-Allow-Origin "*"

Llevo todo el día enfrascado con esto la verdad, he probado 100 cosas y ninguna me sirve.

Saludos


Respuestas

#1

Hola,

Hace un tiempo tuve ese problema y logré resolverlo adicionando en el array de headers del Response lo siguiente:

return new Response(json_encode($categorias_array, JSON_UNESCAPED_SLASHES),
            Response::HTTP_OK,
            array('Access-Control-Allow-Origin' => '*')
            );

Debes adicionar esto en el controlador que devuelve la respuesta de la url que estás solicitando.

Espero que te sirva. Saludos.

@RoberRielo

7 agosto 2017, 3:03
#2

Tal vez este bundle te funcione: NelmioCorsBundle

@ramiroanacona

7 agosto 2017, 20:21