XHR las razones entre dominios delanteros y tres soluciones

soluciones de varios dominios de front-end 
· Navegador de dominios cruzados hecho para la directiva de restricción de seguridad 
solicitudes -Browser debe seguir la política del mismo origen: el mismo nombre de dominio, con el puerto, con el acuerdo de 


1 : entre dominios Cros 
    Este método se resuelve en el lado del servicio 
    casos de solución de php: 
        // modo 1: 
        header ( " Access-control-la allow-origen: * " ); // permitir solicitudes de todas las direcciones entre dominios
         // la segunda manera: 
        header ( " Access-control-la allow-origen: HTTP: // localhost: 8080 " ); // especificar una dirección puede ser peticiones entre dominios, puede especificar una única 

        // tres maneras: Si desea permitir que varios dominios solicita varias direcciones se pueden escribir 
        $ origen = [ ' http: // localhost: 8080 ' ' HTTP: // localhost: 8081 ' ];
        $ AllowOrigin= ' Http: // localhost: 8080 ' ;
         SI (el in_array ($ _ SERVER [ " HTTP_ORIGIN " ], $ Origen)) 
        { 
            $ AllowOrigin = $ _SERVER [ " HTTP_ORIGIN " ]; 
        } 
        cabecera ( " Access-Control-AllowOrigin : " . $ AllowOrigin);
 2 : JSONP 
    este método requiere de back-end front-end se establecen 
    js petición Ajax por la influencia política del mismo origen, no permite que las solicitudes entre dominios y enlaces etiqueta script atributo src, pero se puede acceder a través de dominios guión, 
    utilizar esta característica, el servidor devuelve datos ya no en formato JSON, pero volver algún código JS para llamar a una función, por lo que para lograr entre dominios. 
    DETALLADA realización distal:
         <script el src = "http://www.fengxiangqu.com/file/wd-js/jquery-1.11.1.min.js " > </ script> 
        <script> 
            $ .ajax ({ 
            tipo: " GET " 
            URL: " HTTPS: //order.imooc.com/pay/cartorder " 
            Tipo de datos: " jsonp " 
            jsonp: " devolución de llamada " , // se pasa al controlador de solicitudes o de la página para obtener la función de devolución de llamada nombre de parámetro de nombre jsonp (por defecto: callback) 
            jsonpCallback: " jsonpCallback " , // desde jsonp definido nombre de la función de devolución de llamada, el nombre predeterminado para la función aleatoria generado automáticamente jQuery
            Éxito: function (JSON) { 
            el console.log (JSON); 
            }, 
            error: function () { 
                
            } 
        });
         </ script> 
    aplicación backend:
         <? PHP 
            $ datos = " ....... " ; 
            devolución de llamada $ = ' jsonpCallback ' ; 
            echo $ devolución de llamada. ' ( ' .json_encode (los datos $). ' ) ' ; 
            Salir;
         >?
 3 : Proxy nginx hacia delante

 

Supongo que te gusta

Origin www.cnblogs.com/cl94/p/12443843.html
Recomendado
Clasificación