Zugriffskontrolle erlaubt Origin in AngularJS

Muhammad Adil 23 Mai 2022
Zugriffskontrolle erlaubt Origin in AngularJS

AngularJS ist ein JavaScript-basiertes Webanwendungs-Framework zum Erstellen von Single-Page-Anwendungen. Es ist ein strukturelles Framework, das verwendet wird, um das Front-End der Anwendung zu erstellen.

Der Header Access Control Allows Origin legt fest, welche Domains auf die Inhalte zugreifen können. Standardmäßig verwendet AngularJS einen leeren String als Wert, was bedeutet, dass jede Domain darauf zugreifen kann.

Dieser Header schränkt ein, welche Domains auf die Ressourcen zugreifen können, und hat zwei mögliche Werte, * und self. Das Sternchen (*) bedeutet in diesem Fall, dass jede Domain darauf zugreifen kann, während der andere Wert self bedeutet, dass nur Seiten ähnlichen Ursprungs darauf zugreifen können.

Kurz gesagt, dies ist ein Sicherheitsfehler. Der Browser lässt das Laden der Ressource nur zu, wenn ein Access Control Allow Origin-Header vorhanden ist.

Lösung für diesen Sicherheitsfehler

Lassen Sie uns die Lösung für diesen Fehler besprechen.

Normale Webseiten können mithilfe des Objekts XMLHttpRequest Daten von entfernten Servern übertragen und empfangen, aber die Same-Origin-Richtlinie schränkt sie ein. Erweiterungen sind nicht mehr so ​​begrenzt wie früher.

Wenn eine Erweiterung nach ursprungsübergreifenden Rechten fragt, kann sie mit Servern außerhalb ihres Ursprungs kommunizieren.

Um diesen Fehler zu beheben, können Sie JSONP verwenden. Mit dieser Technik können Sie eine AJAX-Anfrage vom Client an den Server mit JSON-Daten senden, indem Sie ein Skript-Tag auf der Seite hinzufügen und dessen src-Attribut so einstellen, dass es auf die URL Ihres Dienstes zeigt, der JSON-Daten zurückgibt.

var url = "paste url link here";
$http.jsonp(url)
.success(function(data){
    console.log(data);
});
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook