Estoy tratando de obtener datos de un punto final de AWS utilizando React/axios, pero cuando intento realizar una solicitud, aparece este error de CORS:
El acceso a XMLHttpRequest en 'https://myAWS.com/login' desde el origen 'http://localhost:3000' ha sido bloqueado por la política de CORS: no hay un encabezado 'Access-Control-Allow-Origin' en el recurso solicitado .
cuando pruebo la compilación de mis páginas alojadas de github, también recibo el mismo error. Pero cuando uso Vanilla js en otro sitio web alojado, funciona, ¿estoy enviando mis solicitudes de forma incorrecta en axios?
VAINILLA
let body = { "name": "Bbbb 202", "email": "bbbb2220@bob.com", "password": "122", "wallet": "bbbbB202222" }; var http = new XMLHttpRequest(); var url = 'https://myAWS.com/login'; http.open('POST', url, true); //Send the proper header information along with the request http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); http.onreadystatechange = function() {//Call a function when the state changes. if(http.readyState == 4 && http.status == 200) { alert(http.responseText); } } http.send(body);REACCIONAR
async SendRequest(method, url, callback, body){ axios.request({ method: 'POST', data: JSON.stringify(body), headers: { "Content-Type": "application/json;charset=utf-8", "Authorization": "Bearer " + localStorage.getItem("token"), }, url: url }) .then(response => { console.log(response); callback({ status: response.status, data: response.data, }); }) .catch(err => { console.log(err); callback({ status: err.status, data: err, }); }); }No son la misma solicitud. Parece que la solicitud 'vainilla' podría calificar para lo que se conoce como una 'solicitud segura'. Para calificar como una solicitud segura, el tipo de contenido debe ser application/x-www-form-urlencoded (u otros 2) y no usar ningún método HTTP restringido.
También escribí más extensamente sobre esto aquí: https://evertpot.com/no-cors/