Heim > Web-Frontend > js-Tutorial > Wie löst JSONP Probleme bei der ursprungsübergreifenden Datenübertragung?

Wie löst JSONP Probleme bei der ursprungsübergreifenden Datenübertragung?

Patricia Arquette
Freigeben: 2024-12-23 02:39:34
Original
626 Leute haben es durchsucht

How Does JSONP Solve Cross-Origin Data Transfer Issues?

JSONP: Eine Einführung

Einführung

JSONP oder JSON with Padding ist eine JSON-Erweiterung, die den Datenaustausch erleichtert zwischen Websites unterschiedlicher Herkunft. Es wurde erstellt, um die CORS-Einschränkungen (Cross-Origin Resource Sharing) des Browsers zu umgehen.

Konzept

Wenn eine Website versucht, auf Ressourcen von einer anderen Website mit einem anderen Ursprung zuzugreifen , wendet der Browser CORS-Einschränkungen an, um Sicherheitslücken zu vermeiden. JSONP nutzt eine Lücke in diesem Mechanismus aus, indem es Skript-Tags verwendet, die keinen CORS-Einschränkungen unterliegen.

Funktionsweise von JSONP

Um JSONP zu verwenden, enthält die Client-Website a Skript, das eine Rückruffunktion angibt und eine Anfrage wie folgt an die Server-Website sendet:

http://www.example.net/sample.aspx?callback=mycallback
Nach dem Login kopieren

Die Server-Website antwortet mit JSON Daten wie folgt in die angegebene Rückruffunktion einschließen:

mycallback({ foo: 'bar' });
Nach dem Login kopieren

Die Client-Website definiert die Rückruffunktion, die ausgeführt wird, wenn das Skript geladen wird:

mycallback = function(data){
  alert(data.foo);
};
Nach dem Login kopieren

Lösen des Cross-Origin-Problem

JSONP ermöglicht die Cross-Origin-Datenübertragung durch die Verwendung von Skript-Tags zur Umgehung von CORS-Einschränkungen. Dadurch können Websites miteinander kommunizieren, obwohl sie auf unterschiedlichen Domänen gehostet werden.

Anwendungsfälle

JSONP ist in Situationen nützlich, in denen CORS nicht verfügbar ist, wie zum Beispiel:

  • Abrufen von Daten von externen APIs
  • Ermöglichung der standortübergreifenden Kommunikation für Widgets und einbettbarer Inhalt

Das obige ist der detaillierte Inhalt vonWie löst JSONP Probleme bei der ursprungsübergreifenden Datenübertragung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage