OK, ich bin schon seit Stunden hier! Und ich habe jede erdenkliche Verbindung gelesen, die ich zu dem Thema finden kann, aber ich kann es immer noch nicht zur Arbeit bringen, und es macht mich langsam wahnsinnig.Ajax-API-Aufruf Access-Control-Allow-Origin. Herkunft nicht erlaubt Zugang
Ich mache eine AJAX-Anfrage (von meiner Domain) zu einer API (auf einer anderen Domain), aber alles, was ich immer wieder in der Konsole Log bekommen ist (offensichtlich habe ich die ausgeschlossenen Domänen etc):
XMLHttpRequest kann https://[APIPROVIDER]/something.json?options nicht geladen werden. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin 'http://[MYDOMAIN].com' ist daher nicht erlaubt.
Das ist mein Code
ist$(document).ready(function() {
function step1(){
$.ajax({
url: 'getit.php',
method: 'get',
dataType : 'json',
success: function(data){
step2(data.url);
},
error: function(jqXHR, status, error) {
console.log(error);
}
});
}
function step2(url){
$.ajax({
url: url,
type: 'get',
dataType : 'json',
success: function(data){
console.log(data);
},
error: function(xhr, status, error) {
console.log(error);
}
});
}
step1();
});
Ich habe versucht, ajaxSetup (Header setzen), hilft nicht. Ich habe versucht, Kopfzeilen: {'Access-Control-Allow-Origin': '*'}. Ich habe crossDomain versucht: wahr. Ich habe versucht, dataType zu entfernen: 'json'.
Wie gesagt, das treibt mich langsam in den Wahnsinn. Vor allem, weil das das einzige ist, was mich daran hindert weiterzumachen und daran zu arbeiten, die Antwort zu präsentieren. Und es ist so nah, ich bekomme immer diesen Fehler, egal was ich mache. Ich habe mehrere Artikel über CORS, Access-Control-Allow-Origin in Kopfzeilen gelesen. Ich verstehe immer noch nicht, WARUM ich diesen Fehler bekomme.
Jede Hilfe hier wird sehr geschätzt!/verzweifelt
Dies wurde mehrmals auf SO gefragt. FYI, Access-Control-Allow-Origin ist ein Header, den der Server festlegen muss, und er sollte Ihre Domain als zulässigen Ursprung auflisten. – WreckeR
@WreckeR Ja. Ich weiß, dass die Frage mehrmals gestellt wurde (ich hatte nicht die Absicht, die Community zu "spammen"). Ich konnte es einfach nicht zur Arbeit bringen, egal was ich tat. Danke für deine Antworten. Ich las weiter und brachte es schließlich mit einem PHP-Proxy zum Laufen. Wie ich es bei meiner eigenen Antwort gesagt habe.Ich denke, ich brauchte nur etwas Schlaf und sehe alles mit "frischen Augen" :) – axelra82
Nimm es nicht in die falsche Richtung. Das Markieren von Duplikaten ist nur eine Möglichkeit, anderen zu helfen, die zu dieser Frage kommen könnten, und sie auf eine Frage hinzuweisen, die bereits eine stark gewählte Antwort enthält. – WreckeR