Ich habe ein Problem mit meiner isomorphen JavaScript-App mit React und Express.Problem 'Zugriffssteuerung - Allow-Origin', wenn der API-Aufruf von React (Isomorphic app) erfolgte
Ich versuche, eine HTTP-Anforderung mit axios.get zu machen, wenn meine Komponente
componentDidMount() {
const url = 'http://ufc-data-api.ufc.com/api/v3/iphone/fighters/title_holders';
axios.get(url).then(res => {
//use res to update current state
})
}
besteigt Ich erhalte einen Status 200 res von der API, aber ich bin keine Antwortdaten bekommen und erhalte eine Fehlermeldung in meiner Konsole
XMLHttpRequest cannot load http://ufc-data-api.ufc.com/api/v3/iphone/fighters/title_holders.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:3000' is therefore not allowed access.
wenn ich jedoch machen die Anfrage in meinem server.js
const url = 'http://ufc-data-api.ufc.com/api/v3/iphone/fighters/title_holders';
axios.get(url).then(res => {
//console.log(res);
});
Es funktioniert gut und ich bekomme Antwortdaten, wenn der Server startet. Ist das ein Problem mit der tatsächlichen API oder mache ich etwas falsch? Wenn dies ein CORS-Problem war, würde ich vermuten, dass die Anfrage in server.js auch nicht funktionieren würde? Vielen Dank!
@Todd Sicherheit sollte immer vor Bequemlichkeit kommen. Glücklicherweise können Provisionierungsserver eine 5-minütige Übung sein. Darüber hinaus gibt es Proxy-Dienste, die diese Art von Funktionalität bereits verfügbar machen, aber nur so viele kostenlose Anfragen erlauben. Die Einrichtung eines eigenen Proxy ist den extrem geringen Aufwand wert. – azium