O que é cruz de domínio? Domínio cruzado, quando o navegador não pode executar scripts de outros sites. Ela é causada pela política homóloga do navegador, que é uma restrição de segurança imposta pelo navegador ao Javascrip{filter}t.
O chamado homólogo significa que o nome de domínio, protocolo e porta são todos iguais, não importa se você não entende, dê uma explicação:
http://www.itsvse.com/index.htmlinvocarhttp://www.itsvse.com/server.PHP(Não trans-domínio)
http://www.itsvse.com/index.htmlChamar http://www.456.com/server.php (domínio primário diferente: itsvse/456, multidomínio)
O login do hiperlink está visível.invocarO login do hiperlink está visível.(Subdomínio diferente: abc/def, domínio cruzado)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlChamando https://www.itsvse.com/server.php (protocolos diferentes: http/https, multidomínio)
Por favor, note: localhost e 127.0.0.1, embora ambos apontem para local, também são multidomínio.
Quando o navegador executa o script javascrip{filter}t, ele verifica a qual página pertence o script e, se não for uma página homóloga, não será executado.
Solução:
1、JSONP:
Não vou entrar em detalhes sobre como usá-lo, mas vale ressaltar que o JSONP só suporta requisições GET, não requisições POST.
2. Agente:
Por exemplowww.itsvse.com/index.htmlSe precisar ligar para www.456.com/server.php, pode escrever uma interfacewww.itsvse.com/server.phpEssa interface chama o www.456.com/server.php no backend e recebe o valor de retorno, e depois o retorna ao index.html, que é um padrão proxy. É equivalente a contornar o lado do navegador, então naturalmente não há problema entre domínios.
3. Modificar o cabeçalho no lado PHP (método XHR2)
Adicione as seguintes duas frases ao script da interface PHP: cabeçalho('Access-Control-Allow-Origin:*'); Permitir acesso de todas as fontes cabeçalho ('Access-Control-Allow-Method:POST,GET'); Maneiras de permitir o acesso
|