1. Für Projekte, die durch Front-End- und Back-End-Projekte getrennt sind, wird es zwangsläufig in zwei verschiedenen Domänen in zwei verschiedenen Domänen eingesetzt, wenn das Front-End-Projekt und das Back-End-Projekt in zwei verschiedenen Domänen eingesetzt werden.
Bei Cross-Domänen-Problemen ist die erste Lösung, an die wir denken, JSONP, und ich habe mich im Grunde genommen mit Cross-Domänen-Problemen in der Vergangenheit befasst.
Die JSONP -Methode hat jedoch auch Mängel. Ob für das Front-End oder das Back-End, die Schreibmethode unterscheidet sich von unserer üblichen AJAX-Schreibmethode, und das Back-End muss auch entsprechende Änderungen vornehmen. Darüber hinaus kann die JSONP -Methode nur durch GET -Anforderung Parameter übergeben, und natürlich gibt es andere Mängel. Als Reaktion darauf habe ich es nicht eilig, die JSONP-Methode zu verwenden, um Cross-Domänen-Probleme zu lösen. Ich gehe online, um andere Methoden zu finden, worüber dieser Artikel hauptsächlich spricht und Cross-Domain-Probleme durch das CORS-Protokoll im Springboot löste.
2. CORS -Vereinbarung
Neue Funktionen in H5: Cross-Origin-Ressourcenfreigabe. Durch diese können unsere Entwickler (hauptsächlich Backend -Entwickler) entscheiden, ob auf Ressourcen über Domänen hinweg zugegriffen werden kann.
CORS ist ein W3C -Standard, mit dem Browser (derzeit unter IE8 nicht unterstützt werden können). Wie unsere Server aus verschiedenen Quellen können wir AJAX weiterhin für den Anforderungszugriff verwenden.
Weitere Artikel über CORS -Protokoll finden Sie unter http://www.vevb.com/article/83093.htm. Dieser Artikel ist ziemlich gut.
3.. Wie man Cross-Domänen-Probleme durch das CORS-Protokoll im Springboot löst
Die SpringMVC4.2 -Version fügt CORS zu unterstützen.
Gegenwärtig werden die Projekte, die ich mache, im Grunde genommen im Springboot entwickelt, also werde ich die Verwendung im Springboot hier veröffentlichen.
@ConfigurationPublic Class MyWebAppConFiger erweitert WebMVCConFigurerAdapter {@Override public void addCorsMappings (CorsRegistry -Registrierung) {Registry.addmapping ("/**"); }Unser Pfad kann beim AddMapping konfiguriert werden. /** repräsentiert alle Pfade.
Natürlich können auch andere Eigenschaften geändert werden
@ConfigurationPublic Class MyWebAppConFigur erweitert webmvcconFigurerAdapter {@Override public void addCorsMappings (CorsRegistry -Registrierung) {Registry.addmapping ("/api/**") .allowedorigin ("http:/192.168.1.1.1.1.97"). .allowcredentials (false) .maxage (3600); }Die beiden oben genannten sind alle für die globale Konfiguration. Wenn Sie detaillierter sein möchten, können Sie auch die @crossorigin -Annotation in der Controller -Klasse verwenden.
@CrosSorigin (Origins = "http://192.168.1.97:8080", maxage = 3600) @RequestMapping ("rest_index")@rastControllerPublic Class IndexController { Auf diese Weise können Sie angeben, dass alle Methoden im Controller Anforderungen von HTTP bearbeiten können: 19.168.1.97: 8080.
Zusammenfassen
Das obige ist die Einführung des Herausgebers in die Lösung von Cross-Domänen-Problemen durch das CORS-Protokoll im Springboot. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!