Hvad er tværdomæne? Cross-domain, når browseren ikke kan udføre scripts fra andre hjemmesider. Det skyldes browserens homologe politik, som er en sikkerhedsbegrænsning, som browseren pålægger Javascrip{filter}t.
Den såkaldte homolog betyder, at domænenavn, protokol og port alle er ens, det er ligegyldigt, om du ikke forstår, giv en klassiker:
http://www.itsvse.com/index.htmlPåberåbe sighttp://www.itsvse.com/server.PHP(Ikke-krydsdomæne)
http://www.itsvse.com/index.htmlKald http://www.456.com/server.php (andet primærdomæne: itsvse/456, tværdomæne)
Hyperlink-login er synlig.Påberåbe sigHyperlink-login er synlig.(Underdomæne forskelligt: abc/def, tværdomæne)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlKalder https://www.itsvse.com/server.php (forskellige protokoller: http/https, cross-domain)
Bemærk venligst: localhost og 127.0.0.1, selvom begge peger på local, er også cross-domain.
Når browseren eksekverer scriptet javascrip{filter}t, vil den tjekke, hvilken side scriptet hører til, og hvis det ikke er en homolog side, vil det ikke blive eksekveret.
Opløsning:
1、JSONP:
Jeg vil ikke gå i detaljer om, hvordan man bruger det, men det skal bemærkes, at JSONP kun understøtter GET-anmodninger, ikke POST-anmodninger.
2. Agent:
For eksempelwww.itsvse.com/index.htmlHvis du skal kalde www.456.com/server.php, kan du skrive et interfacewww.itsvse.com/server.phpDette interface kalder www.456.com/server.php på backend og får returværdien, og returnerer den derefter til index.html, som er et proxy-mønster. Det svarer til at omgå browsersiden, så der er naturligvis ikke noget problem med krydsdomæner.
3. Ændr headeren på PHP-siden (XHR2-metoden)
Tilføj følgende to sætninger til PHP-interface-scriptet: header('Access-Control-Allow-Origin:*'); Tillad adgang fra alle kilder header('Access-Control-Allow-Method:POST,GET'); Måder at give adgang på
|