Cet article présente principalement des informations pertinentes sur les problèmes et solutions inter-domaines Javascript. Les amis dans le besoin peuvent se référer à
Problèmes et solutions inter-domaines Javascript
<.>Qu'est-ce qu'un problème inter-domaines ?
Ce problème inter-domaines est causé par la politique de même origine du navigateur. L'adresse URL demandée doit être le même protocole, le même nom de domaine et le même port que l'URL du navigateur, sinon, il n'est pas autorisé.浏览器URL | 要访问的URL | 结果 |
---|---|---|
http://www.123.com/index | http://www.123.com/server | 成功 |
http://www.123.com/index | http://www.456.com/server | 域名不相同,跨域 |
http://www.123.com:8080/index | http://www.123.com:8888/index.htm | 端口不同,跨域 |
http://www.123.com/index | https://www.123.com/index | 协议不同,跨域 |
Solution
Toute balise avec l'attribut src peut traverser des domaines, tels que les balises script, img, iframe.JSONP
JSONP est l'application de balises de script. Le nom complet de JSONP est JSON With Padding. Il se compose de deux parties, la fonction de rappel et les données. La fonction de rappel correspond au moment où la réponse arrive. La fonction qui doit être appelée dans la page, le nom de la fonction de rappel est spécifié dans la requête et les données sont les données JSON transmises à la fonction de rappel Exemple. :<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function jsonCallback(data){ alert(data); }; var url = "http://localhost:8888/test?callback=jsonCallback"; var script = document.createElement('script'); script.type = "text/javascript"; script.setAttribute('src', url); document.getElementsByTagName('head')[0].appendChild(script); </script> </head> <body> </body> </html>
XMLHttpRequest cannot load http://你请求的域名. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://当前页的域名' is therefore not allowed access.
Même si la demande de page http://127.0.0.1:80/ est sur http://localhost:80/, il y aura des problèmes inter-domaines
Résoudre les problèmes inter-domaines Les problèmes de domaine peuvent être résolus des manières suivantes Utiliser jsonp
Proxy du serveur
Le serveur définit Access-Control-Allow-Origin dans l'en-tête de la demande pour spécifier le nom de domaine à partir duquel les données peuvent être obtenues
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!