Estoy usando axios para obtener algunos datos de la API que incluyen datos XML. Mi llamada API funciona en Postman pero en reactjs, arroja un error como No hay encabezado 'Access-Control-Allow-Origin' presente en el recurso solicitado. Traté de poner 'Access-Control-Allow-Credentials':fiel a los encabezados. Pero no funciona. Eche un vistazo a mi código también
import axios from "axios"; import React, { useEffect } from "react"; const convert = require("xml-js"); export default function DailyNews() { useEffect(() => { axios .get("https://www.tcmb.gov.tr/kurlar/today.xml") .then(function (response) { console.log(response); // this will print xml data structure const data = JSON.parse( convert.xml2json(response.data, { compact: true, spaces: 2 }) ); console.log(data); }) .catch(function (error) { console.log(error); }) .then(function () { // always executed }); }, []); return ( <div> <h1>XML CALISMASI</h1> </div> ); }Su código arroja un error porque su dominio no está en la lista blanca en su sitio, lo que significa que no puede simplemente consultar su URL y usarla, entonces su navegador lo verá como una violación de seguridad. https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Dicho esto, CORS es solo una cosa del navegador, aún puede consultar esa API usted mismo y luego llamar a su propia API de servidor desde su cliente, siempre que sea su servidor quien haga la llamada a su API y luego pase los datos a su cliente.