Was ist eine Cross-Domänen-Anfrage?
Ein einfaches Verständnis besteht darin, eine Anfrage an eine Serverdatei zu stellen, die sich nicht im gleichen Domänennamen befindet. Verwenden wir ein praktisches Beispiel, um dies zu veranschaulichen. Beispielsweise sendet Baidu.com eine Anfrage an cxyblog.com. Die beiden Domain -Namen sind unterschiedlich. Das ist also Cross-Domain. Aus Sicherheitsgründen ist dies nicht erlaubt. Es sollte auch beachtet werden, dass Anfragen, die von verschiedenen Subdomänen, verschiedenen Ports derselben Domäne oder unterschiedlichen Protokollen derselben Domäne gesendet werden, ebenfalls als Kreuzdomäne angesehen werden und im Grunde genommen in die folgenden Kategorien eingeteilt werden können:
(1) http://www.baidu.com sendet eine Anfrage an http://www.cxyblog.com
(2) http://www.cxyblog.com sendet eine Anfrage an http://image.cxyblog.com
(3) http://www.baidu.com:8000 Senden Sie eine Anfrage an http://www.cxyblog.com
(4) http://www.cxyblog.com sendet eine Anfrage an https://www.cxyblog.com
(5) http://www.cxyblog.com sendet eine Anfrage an http://112.65.242.67 (vorausgesetzt, die IP entspricht dem Domänennamen www.cxyblog.com 112.65.242.67)
Alle oben genannten fünf Situationen sind Cross-Domänen-Anfragen.
Wann werden Cross-Domänen-Anfragen verwendet?
Manchmal, wenn wir JavaScript verwenden müssen, um AJAX-Operationen auszuführen, werden wir auf diese Art von Cross-Domain-Anforderungsoperation stoßen.
Warum kann die Cross-Domänen-Anfrage nicht direkt mit JavaScript implementiert werden?
Aus Sicherheitsgründen erlaubt der Browser JavaScript nicht, Cross-Domänen-Ressourcen aufgrund von Einschränkungen der homologen Richtlinie von JavaScript anzufordern.
Wie kann ich das Problem lösen, dass JavaScript keine Cross-Domänen-Anfragen implementieren kann?
Die in diesem Artikel verwendete Lösung besteht darin, FlyjsonP zu verwenden, um Cross-Domänen-Anfragen zu implementieren. FlyjsonP ist eine leichte JavaScript-Klassenbibliothek, auch als JSON-Plug-In bekannt. Die Gesamtgröße nach der Komprimierung beträgt ca. 3 KB, und es müssen keine anderen Frameworks unterstützt werden.
Flyjsonp Official Website Adresse: http://alotaiba.github.com/flyjsonp/
Wie kann ich also die FlyJsonP-Klassenbibliothek verwenden, um Cross-Domänen-Anfragen zu implementieren?
(1) Zunächst müssen Sie das JavaScript -Skript von FlyjsonP laden, dh:
<script Language = "javaScript" src = "http://www.cxyblog.com/flyjsonp.min.js"> </script>
.
(3) Verwenden Sie als nächstes die Methode GET -Methode oder Post -Methode, um Daten anzufordern. Der spezifische Beispielcode lautet wie folgt:
// Flyjsonp implementiert Cross-Domain-GetFunction getData () {flyjsonp.init ({debug: true}); // Initialisiert eine Instanz von FlyjsonP, kann das Parameter-Debuggen auf true oder falsche Flyjsonp.get ({url: 'http: //www.cxyblog.cxy/article./Ww.cxyblog. Anfrage: {// Anforderung Parameterlimit: 5}, Erfolg: Funktion (Daten) {// console.log (Daten); Flyjsonp.init ({debug: true}); // initialisiert eine Instanz von Flyjsonp, das Parameter -Debug kann auf true oder falsche flyjsonp.post ({url: 'http: //www.cxyblog.com/article/new', Parameters: {username: 'cxyblog', api_key: {username: 'cxyblog', ',' Cxyblog ', initialisiert, initialisiert. Titel: 'flyjsonp', Beschreibung: 'Test'}, Erfolg: Funktion (Daten) {alert (Daten);Hinweis: Wenn der Server an den Client ausgibt, muss die Ausgabe eine JSON -Zeichenfolge sein, andernfalls kann der Client ihn nicht empfangen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.