Qu’est-ce que le cross-domaine ? Inter-domaine, lorsque le navigateur ne peut pas exécuter de scripts depuis d’autres sites web. Elle est causée par la politique homologue du navigateur, qui est une restriction de sécurité imposée par le navigateur sur Javascrip{filter}t.
Le soi-disant homologue signifie que le nom de domaine, le protocole et le port sont tous identiques, peu importe si vous ne comprenez pas, donnez un résumé :
http://www.itsvse.com/index.htmlinvoquerhttp://www.itsvse.com/server.PHP(Non inter-domaine)
http://www.itsvse.com/index.htmlAppel http://www.456.com/server.php (domaine principal différent : itsvse/456, inter-domaine)
La connexion hyperlientérée est visible.invoquerLa connexion hyperlientérée est visible.(Sous-domaine différent : abc/def, inter-domaine)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlAppeler https://www.itsvse.com/server.php (protocoles différents : http/https, cross-domain)
Veuillez noter : localhost et 127.0.0.1, bien que tous deux pointant vers local, sont également inter-domaines.
Lorsque le navigateur exécute le script javascrip{filter}t, il vérifie à quelle page appartient le script, et si ce n’est pas une page homologue, il ne sera pas exécuté.
Solution:
1、JSONP :
Je ne vais pas entrer dans les détails sur son utilisation, mais il faut noter que JSONP ne prend en charge que les requêtes GET, pas les requêtes POST.
2. Agent :
Par exemplewww.itsvse.com/index.htmlSi vous devez appeler www.456.com/server.php, vous pouvez écrire une interfacewww.itsvse.com/server.phpCette interface appelle le www.456.com/server.php en backend et obtient la valeur de retour, puis la renvoie au index.html, qui est un motif proxy. C’est équivalent à contourner le côté navigateur, donc il n’y a naturellement pas de problème inter-domaine.
3. Modifier l’en-tête côté PHP (méthode XHR2)
Ajoutez les deux phrases suivantes au script d’interface PHP : en-tête ('Access-Control-Allow-Origin :*') ; Autoriser l’accès depuis toutes les sources en-tête ('Access-Control-Allow-Method :POST,GET') ; Moyens d’autoriser l’accès
|