JavaScript: 'Access-Control-Allow-Origin' Header setzen?
Hallo,
ich mache gerade eine Webseite für einen Server und arbeite mit APIs. Folgenden Code habe ich geschrieben um die Personenanzahl der aktuellen Online-Spieler auf Discord zu erhalten:
var discord = {
async: true,
crossDomain: true,
url: "https://discordapp.com/api/guilds/710483657571172463/widget.json",
method: "GET",
processData: false,
data: ""
};
$.ajax(discord).done(function (response) {
document.getElementById("online").innerHTML = response.presence_count;
});
Dieser hat auch bereits schon lokal funktioniert, aber seitdem ich ihn auf dem Server habe und die Website öffne, kommt in der Konsole ein Fehler:
Access to XMLHttpRequest at ' https://discordapp.com/api/guilds/710483657571172463/widget.json' from origin ' https://gamingrunde.tk' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Ich wollte wissen, wo und wie ich den Header im Code setze.
1 Antwort
Den Header muss der Server setzen, bei dem die Daten angefragt werden.
Da die Adresse allerdings hardgecodet ist, verwundert mich die Fehlermeldung etwas.
Angenommen der gesendete Header von discordapp.com hat sich nicht verändert, dann müsste dein lokaler Test entweder dort als Orgin hinterlegt worden sien(Warum sollte er? Und vor Allem: Wie?) oder dein lokaler Test ignoriert den Headre schlicht.