Si al ejecutar una llamada a nuestra API Rest nos devuelve un error «Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos» o «Reason: CORS header ‘Access-Control-Allow-Origin’ missing» o «(Razón: Solicitud CORS sin éxito)».
Seguramente en nuestras llamadas del servidor Rest no tenemos las cabeceras para permitir que puedan ser utilizadas por distintos orígenes. Si nuestro servidor es PHP, tendremos que añadir la siguiente cabecera en nuestra llamada (fichero o función) dependiendo del framework que utilicemos.
header('Access-Control-Allow-Origin: *');
Con esta cabecera, permitimos acceder a todo origen (de forma pública) a nuestra API.
Otras cabeceras interesantes para PHP son:
header('Content-type: application/json');
Indica que se devuelve un JSON con la llamada.
header('Access-Control-Allow-Headers: Content-Type, X-AUTH');
Indicas que permites Headers personalizadas.
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT');
Indicas el tipo de llamada que puedes realizar para este endpoint (puedes elegir uno de ellos o varios).
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.