Kas yra kryžminis domenas? Kryžminis domenas, kai naršyklė negali vykdyti scenarijų iš kitų svetainių. Tai sukelia naršyklės homologinė strategija, kuri yra naršyklės nustatytas saugos apribojimas Javascrip{filter}t.
Vadinamasis homologinis reiškia, kad domeno vardas, protokolas ir prievadas yra vienodi, nesvarbu, jei nesuprantate, duokite kaštoną:
http://www.itsvse.com/index.htmlRemtishttp://www.itsvse.com/server.PHP(Ne kryžminis domenas)
http://www.itsvse.com/index.htmlKvietimo http://www.456.com/server.php (kitas pagrindinis domenas: itsvse/456, kryžminis domenas)
Hipersaito prisijungimas matomas.RemtisHipersaito prisijungimas matomas.(Subdomenas skiriasi: abc / def, kryžminis domenas)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlSkambinimo https://www.itsvse.com/server.php (skirtingi protokolai: http/https, cross-domain)
Atkreipkite dėmesį: localhost ir 127.0.0.1, nors abu nurodo į local, taip pat yra kryžminiai domenai.
Kai naršyklė vykdo javascrip{filter}t scenarijų, ji patikrins, kuriam puslapiui priklauso scenarijus, o jei tai nėra homologinis puslapis, jis nebus vykdomas.
Sprendimas:
1 、 JSONP:
Nesigilinsiu į detales, kaip juo naudotis, bet reikia pažymėti, kad JSONP palaiko tik GET užklausas, o ne POST užklausas.
2. Agentas:
Pavyzdžiuiwww.itsvse.com/index.htmlJei jums reikia paskambinti www.456.com/server.php, galite parašyti sąsająwww.itsvse.com/server.phpŠi sąsaja iškviečia www.456.com/server.php vidinėje dalyje ir gauna grąžinamąją reikšmę, o tada grąžina ją į index.html, kuris yra tarpinio serverio modelis. Tai prilygsta naršyklės pusės apėjimui, todėl natūralu, kad nėra kryžminių domenų problemų.
3. Pakeiskite antraštę PHP pusėje (XHR2 metodas)
Prie PHP sąsajos scenarijaus pridėkite šiuos du sakinius: header('Access-Control-Allow-Origin:*'); Leisti prieigą iš visų šaltinių header('Access-Control-Allow-Method:POST,GET'); Prieigos leidimo būdai
|