¿Qué es la solicitud de dominio cruzado?
Una comprensión simple es hacer una solicitud a un archivo de servidor que no esté en el mismo nombre de dominio. Usemos un ejemplo práctico para ilustrar esto. Por ejemplo, Baidu.com envía una solicitud a cxyblog.com. Los dos nombres de dominio son diferentes. Entonces esto es un dominio cruzado. Por razones de seguridad, esto no está permitido. También se debe tener en cuenta que las solicitudes enviadas por diferentes subdominios, diferentes puertos del mismo dominio, o diferentes protocolos del mismo dominio, también se consideran cruzados, y básicamente pueden clasificarse en las siguientes categorías:
(1) http://www.baidu.com envía una solicitud a http://www.cxyblog.com
(2) http://www.cxyblog.com envía una solicitud a http://image.cxyblog.com
(3) http://www.baidu.com:8000 Envíe una solicitud a http://www.cxyblog.com
(4) http://www.cxyblog.com envía una solicitud a https://www.cxyblog.com
(5) http://www.cxyblog.com envía una solicitud a http://112.65.242.67 (suponiendo que la IP correspondiente al nombre de dominio www.cxyblog.com es 112.65.242.67)
Las cinco situaciones anteriores son solicitudes de dominio cruzado.
¿Cuándo se utilizarán las solicitudes de dominio cruzado?
A veces, cuando necesitemos usar JavaScript para realizar operaciones AJAX, encontraremos este tipo de operación de solicitud de dominio cruzado.
¿Por qué no se puede implementar directamente la solicitud de dominio cruzado usando JavaScript?
Debido a las razones de seguridad, el navegador no permite que JavaScript solicite recursos de dominio cruzado debido a restricciones en la política homóloga de JavaScript.
¿Cómo resolver el problema que JavaScript no puede implementar solicitudes de dominio cruzado?
La solución utilizada en este artículo es usar FlyJSONP para implementar solicitudes de dominio cruzado. FlyJSONP es una biblioteca de clases JavaScript liviana, también conocida como JSON Plug-in. El tamaño total después de la compresión es de aproximadamente 3 kb, y no es necesario admitir otros marcos.
Dirección del sitio web oficial de Flyjsonp: http://alotaiba.github.com/flyjsonp/
Entonces, ¿cómo usar la biblioteca de clases FlyJSONP para implementar solicitudes de dominio cruzado?
(1) Primero, debe cargar el script JavaScript de FlyJSONP, es decir:
<script language = "javascript" src = "http://www.cxyblog.com/flyjsonp.min.js"> </script>
(2) Luego, para inicializar la instancia de FlyJSONP, la depuración del parámetro se puede establecer en True o False, es decir: FlyJSONP.Init ({Debug: True}), que significa si abrir información de depuración, y el valor del parámetro es verdadero o falso;
(3) A continuación, use el método GET o el método POST para solicitar datos. El código de ejemplo específico es el siguiente:
// Flyjsonp implementa getFunction getData () {flyjsonp.init ({debug: true}); // Inicializa una instancia de FlyJSONP, la depuración del parámetro se puede configurar en True o False Flyjsonp.get ({URL: 'http: //wwww.cxyblog.com/article.json'.///thet ull Solicitud: {// Límite de parámetro de solicitud: 5}, éxito: function (data) {// console.log (data); Una instancia de FlyJSONP, la depuración de parámetros se puede establecer en verdadero o falso Flyjsonp.post ({url: 'http: //www.cxyblog.com/article/new', parámetros: {usereName: 'cxyblog', api_key: '123456', title: 'flyjsonp', descripción: 'test'}, Sucesical (dats) DATO) alerta (datos);Nota: Cuando el servidor sale al cliente, la salida debe ser una cadena JSON, de lo contrario, el cliente no podrá recibirlo.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.