Heim >Web-Frontend >js-Tutorial >Wie kann ich CORS-Einschränkungen für domänenübergreifende AJAX-Anfragen umgehen?
Cross-Origin Resource Sharing (CORS)-Einschränkungen können AJAX-Anfragen zum Abrufen von Daten von verschiedenen Geräten behindern Domänen. In diesem Artikel werden alternative Ansätze zur Überwindung von CORS-Einschränkungen untersucht.
Aufgrund von Sicherheitsmaßnahmen erzwingen Browser die Same-Origin-Richtlinie, die AJAX-Anfragen innerhalb derselben Domäne einschränkt. Anfragen an eine andere Domäne, Subdomäne, einen anderen Port oder ein anderes Protokoll werden normalerweise blockiert.
Die Verwendung von JSONP zum Abrufen domänenübergreifender Daten erfordert, dass der Server die Antwort in einem Skriptformat bereitstellt. Wenn es sich bei den erwarteten Daten um HTML handelt, ist die Verwendung von JSONP nicht geeignet.
1. CORS-Proxy-Alternativen:
2. Same-Origin-Einschränkungen umgehen:
CORS Überall:
$.ajaxPrefilter( function (options) { if (options.crossDomain && jQuery.support.cors) { var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; } });
Welcher Ursprung auch immer:
$.ajaxSetup({ scriptCharset: "utf-8", contentType: "application/json; charset=utf-8" }); $.getJSON('http://whateverorigin.org/get?url=' + encodeURIComponent('http://google.com') + '&callback=?', function (data) { console.log(" > " , data); $("#viewer").html(data.contents); });
Diese alternativen Ansätze ermöglichen domänenübergreifende AJAX-Anfragen, wenn sie direkt sind Anfragen werden durch CORS eingeschränkt. Die Wahl der besten Lösung hängt vom spezifischen Anwendungsfall und den Sicherheitsaspekten ab.
Das obige ist der detaillierte Inhalt vonWie kann ich CORS-Einschränkungen für domänenübergreifende AJAX-Anfragen umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!