Wat is cross-domain? Cross-domain, wanneer de browser geen scripts van andere websites kan uitvoeren. Het wordt veroorzaakt door het homologe beleid van de browser, een beveiligingsbeperking die de browser oplegt aan Javascrip{filter}t.
De zogenaamde homoloog betekent dat domeinnaam, protocol en port allemaal hetzelfde zijn, het maakt niet uit of je het niet begrijpt, geef een opmerking:
http://www.itsvse.com/index.htmlaanroepenhttp://www.itsvse.com/server.PHP(Niet-cross-domein)
http://www.itsvse.com/index.htmlRoep http://www.456.com/server.php aan (ander primair domein: itsvse/456, cross-domain)
De hyperlink-login is zichtbaar.aanroepenDe hyperlink-login is zichtbaar.(Subdomein verschil: abc/def, cross-domain)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlAanroepen https://www.itsvse.com/server.php (verschillende protocollen: http/https, cross-domain)
Let op: localhost en 127.0.0.1, hoewel beide naar local, zijn ook cross-domain.
Wanneer de browser het javascrip{filter}t script uitvoert, controleert hij op welke pagina het script hoort, en als het geen homologe pagina is, wordt het niet uitgevoerd.
Oplossing:
1、JSONP:
Ik zal niet in detail treden over hoe je het gebruikt, maar het moet worden opgemerkt dat JSONP alleen GET-verzoeken ondersteunt, niet POST-verzoeken.
2. Agent:
Bijvoorbeeldwww.itsvse.com/index.htmlAls je www.456.com/server.php moet aanroepen, kun je een interface schrijvenwww.itsvse.com/server.phpDeze interface roept de www.456.com/server.php aan aan de backend en ontvangt de returnwaarde, waarna deze wordt teruggegeven aan de index.html, wat een proxypatroon is. Het is gelijk aan het omzeilen van de browserzijde, dus er is natuurlijk geen cross-domain probleem.
3. Wijzig de header aan de PHP-kant (XHR2-methode)
Voeg de volgende twee zinnen toe aan het PHP-interfacescript: header('Access-Control-Allow-Origin:*'); Sta toegang toe vanuit alle bronnen header('Access-Control-Allow-Method:POST,GET'); Manieren om toegang mogelijk te maken
|