Agregar a la base de datos muestra el error. ¿Qué tengo que hacer?
El acceso para buscar en 'http: xxx' desde el origen ' http://localhost:3000 ' ha sido bloqueado por la política de CORS: la respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: sin encabezado 'Access-Control-Allow-Origin' está presente en el recurso solicitado. Si una respuesta opaca satisface sus necesidades, establezca el modo de la solicitud en 'no-cors' para obtener el recurso con CORS deshabilitado.
mi función:
addItem = (e) => { e.preventDefault(); const ob = { X: 53.0331258, Y: 18.7155611, } fetch("http://xxx", { method: "post", headers: { "Content-Type": "application/json" }, body: JSON.stringify(ob) }) .then(res => res.json()) .then(res => { console.log(res); })}
Su servidor debe responder con una respuesta que se ve a continuación
Access-Control-Allow-Origin: https://localhost:3000Hasta que pueda configurar eso como una solución alternativa, puede instalar la extensión de Chrome a continuación para reanudar su prueba
https://chrome.google.com/webstore/detail/who-cors/hnlimanpjeeomjnpdglldcnpkppmndbp?hl=en-GB
Pero lo anterior es solo una solución para continuar el desarrollo.
Le sugiero que lea este artículo para comprender CORS https://javascript.info/fetch-crossorigin
Para el navegador, CORS está habilitado de manera predeterminada y debe decirle al navegador que está bien para enviar una solicitud al servidor que no sirvió su aplicación del lado del cliente ( archivos estáticos ).
si usa RestFul API con node y express, agregue este middleware a su archivo
app.use((req, res, next) => { res.header("Access-Control-Allow-Origin", "*") })intenta usar el modo ''no-cors''.
fetch('http://localhost:8080/example', { mode: 'no-cors', method: "post", headers: { "Content-Type": "application/json" }, body: JSON.stringify(ob) })El middleware debería ser así.
app.use((req, res, next) => { res.header({"Access-Control-Allow-Origin": "*"}); next(); })Resolví el problema instalando el módulo de nodo cors y agregando esto en el servidor solicitado
const cors = require("cors"); app.use(cors());Debe instalar cors.
npm install corsdentro de los scripts principales index.js o app.js
const cors = require("cors"); app.use(cors());