Heim >Web-Frontend >js-Tutorial >Wie löst JSONP Probleme bei der ursprungsübergreifenden Datenübertragung?
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
Die Server-Website antwortet mit JSON Daten wie folgt in die angegebene Rückruffunktion einschließen:
mycallback({ foo: 'bar' });
Die Client-Website definiert die Rückruffunktion, die ausgeführt wird, wenn das Skript geladen wird:
mycallback = function(data){ alert(data.foo); };
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:
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!