Cos'è il cross-domain? Cross-domain, quando il browser non può eseguire script da altri siti web. È causata dalla politica omologa del browser, che è una restrizione di sicurezza imposta dal browser su Javascrip{filter}t.
Il cosiddetto omologo significa che il nome di dominio, il protocollo e la porta sono tutti uguali, non importa se non capisci, dai una conclusione:
http://www.itsvse.com/index.htmlevocarehttp://www.itsvse.com/server.PHP(Non trans-dominio)
http://www.itsvse.com/index.htmlChiama http://www.456.com/server.php (dominio principale diverso: itsvse/456, cross-domain)
Il login del link ipertestuale è visibile.evocareIl login del link ipertestuale è visibile.(Sottodominio diverso: 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.htmlChiamata https://www.itsvse.com/server.php (protocolli diversi: http/https, cross-domain)
Si prega di notare: localhost e 127.0.0.1, pur essendo entrambi riferiti a local, sono anch'essi cross-domain.
Quando il browser esegue lo script javascrip{filter}t, controllerà a quale pagina appartiene lo script e, se non è una pagina omologa, non verrà eseguito.
Soluzione:
1、JSONP:
Non entrerò nei dettagli su come usarla, ma va notato che JSONP supporta solo le richieste GET, non quelle POST.
2. Agente:
Per esempiowww.itsvse.com/index.htmlSe devi chiamare www.456.com/server.php, puoi scrivere un'interfacciawww.itsvse.com/server.phpQuesta interfaccia chiama il www.456.com/server.php nel backend e ottiene il valore di ritorno, poi lo restituisce al index.html, che è un pattern proxy. È equivalente a bypassare il lato browser, quindi naturalmente non c'è un problema cross-domain.
3. Modificare l'intestazione lato PHP (metodo XHR2)
Aggiungi le seguenti due frasi allo script dell'interfaccia PHP: header('Access-Control-Allow-Origin:*'); Consentire l'accesso da tutte le fonti header('Access-Control-Allow-Method:POST,GET'); Modi per consentire l'accesso
|