1. Pour les projets séparés par des projets frontaux et back-end, si le projet frontal et le projet back-end sont déployés dans deux domaines différents, il provoquera inévitablement des problèmes de domaine croisé.
Pour les problèmes de domaine croisé, la première solution à laquelle nous pensons est JSONP, et j'ai essentiellement traité des problèmes de domaine croisé dans le passé.
Cependant, la méthode JSONP présente également des lacunes. Que ce soit pour le front-end ou le back-end, la méthode d'écriture est différente de notre méthode d'écriture AJAX habituelle, et le back-end doit également apporter des modifications correspondantes. De plus, la méthode JSONP ne peut transmettre des paramètres que par le biais de Get Request, et bien sûr, il existe d'autres lacunes. En réponse à cela, je ne suis pas pressé d'utiliser la méthode JSONP pour résoudre des problèmes de domaine croisé. Je vais en ligne pour trouver d'autres méthodes, ce dont cet article parle principalement et résoudre des problèmes de domaine transversal via le protocole CORS à Springboot.
2. CORS ACCORD
Nouvelles fonctionnalités dans H5: Partage des ressources croisées. Grâce à cela, nos développeurs (principalement des développeurs backend) peuvent décider si les ressources sont accessibles entre les domaines.
CORS est une norme W3C, qui permet aux navigateurs (actuellement ci-dessous, IE8 ne puisse pas être pris en charge). Comme nos serveurs provenant de différentes sources, nous pouvons continuer à utiliser AJAX pour l'accès à la demande.
Pour des articles spécifiques sur le protocole CORS, veuillez vous référer à http://www.vevb.com/article/83093.htm. Cet article est assez bon.
3. Comment résoudre les problèmes de domaine transversal via le protocole CORS à Springboot
La version Springmvc4.2 ajoute la prise en charge des COR.
À l'heure actuelle, les projets que je fais sont essentiellement développés à Springboot, donc je publierai l'usage à Springboot ici.
@Configurationpublic class MyWebAppConfigurer étend webmvcconfigurerAdapter {@Override public void addCorsMappings (CorsEgistry Registry) {registry.addmapping ("/ **"); }Notre chemin peut être configuré dans AddMapping. / ** représente tous les chemins.
Bien sûr, d'autres propriétés peuvent également être modifiées
@Configurationpublic class MyWebappConfigurer étend webmvcconfigurerAdapter {@Override public void addCorsMappings (Corsregistry Registry) {registry.addmapping ("/ api / **") .Allowedorigins ("http://192.168.1.97") .AllowedMethods ("Get" ")", ". .AllowCredentials (false) .maxage (3600); }Les deux ci-dessus sont tout pour la configuration globale. Si vous souhaitez être plus détaillé, vous pouvez également utiliser l'annotation @crossorigin dans la classe du contrôleur.
@Crossorigin (origins = "http://192.168.1.97:8080", maxage = 3600) @RequestMapping ("rest_index") @ restControllerPublic class indexController { Cela vous permet de spécifier que toutes les méthodes du contrôleur peuvent traiter les demandes de HTTP: 19.168.1.97: 8080.
Résumer
Ce qui précède est l'introduction de l'éditeur sur la façon de résoudre les problèmes de domaine croisé via le protocole CORS à Springboot. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!