Ce este cross-domain? Cross-domain, când browserul nu poate executa scripturi de pe alte site-uri. Aceasta este cauzată de politica omologă a browserului, care este o restricție de securitate impusă de browser asupra Javascrip{filter}t.
Așa-numitul omolog înseamnă că numele de domeniu, protocolul și portul sunt toate aceleași, nu contează dacă nu înțelegi, dă o scurtă:
http://www.itsvse.com/index.htmlInvocahttp://www.itsvse.com/server.PHP(Non-domeniu transversal)
http://www.itsvse.com/index.htmlCall http://www.456.com/server.php (alt domeniu principal: itsvse/456, cross-domain)
Autentificarea cu hyperlink este vizibilă.InvocaAutentificarea cu hyperlink este vizibilă.(Subdomeniu diferit: 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.htmlApelarea https://www.itsvse.com/server.php (protocoale diferite: http/https, cross-domain)
Vă rugăm să rețineți: localhost și 127.0.0.1, deși ambele indică către local, sunt de asemenea cross-domain.
Când browserul execută scriptul javascrip{filter}t, va verifica cui pagină aparține scriptul, iar dacă nu este o pagină omologă, nu va fi executat.
Soluție:
1、JSONP:
Nu voi intra în detalii despre cum se folosește, dar trebuie menționat că JSONP suportă doar cereri GET, nu și POST.
2. Agent:
De exempluwww.itsvse.com/index.htmlDacă trebuie să www.456.com/server.php suni, poți scrie o interfațăwww.itsvse.com/server.phpAceastă interfață apelează www.456.com/server.php din backend și obține valoarea returnată, apoi o returnează către index.html, care este un model proxy. Este echivalent cu ocolirea părții de browser, deci în mod natural nu există o problemă cross-domain.
3. Modifică antetul pe partea PHP (metoda XHR2)
Adaugă următoarele două propoziții în scriptul interfeței PHP: antet('Access-Control-Allow-Origin:*'); Permiteți accesul din toate sursele antet('Access-Control-Allow-Method:POST,GET'); Modalități de a permite accesul
|