/ / Benötigen Sie Hilfe bei der Lösung des Ajax-Problems? - Javascript, JQuery, Ajax, domänenübergreifend

Brauchen Sie Hilfe, um das Ajax-Problem zu lösen? - Javascript, Jquery, Ajax, Cross-Domain

Ich erstelle eine Safari-Erweiterung und injiziere js in dieseErweiterung. In diesem JS-Code sende ich einen Ajax-Aufruf, der folgenden Fehler in der Konsole erzeugt. "Das Anforderungsheaderfeld X-Requested-With ist von Access-Control-Allow-Headers nicht zulässig." Hier ist mein Code:

Diese Funktion habe ich aus dem Netz kopiert, um domänenübergreifende Probleme zu lösen, aber es funktioniert nicht. Bitte helfen Sie mir, dies herauszufinden.

function createCORSRequest(method, url) {

var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// XHR has "withCredentials" property only if it supports CORS
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") { // if IE use XDR
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}


var request = createCORSRequest("get", "https://www.karmora.com/list.xml");

if (request) {
// Define a callback function
request.onload = function () {
};
// Send request
request.send();
}

$.get("https://example.com", function (data) {
alert("Ajax call successfull");
});

Antworten:

1 für die Antwort № 1

Ihr Problem hängt mit zusammen Same-origin_policy

Wenn Sie Zugriff auf den Server haben, fügen Sie der virtuellen Hostkonfiguration von Apache Web Server die folgenden Einstellungen hinzu:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"