Antes de comprender qué es jsonp cross-domain, primero comprendamos este concepto: política del mismo origen.
¿Qué es la política del mismo origen?
Política del mismo origen y Sí, existe una política de seguridad (Política del mismo origen) en los navegadores. Una URL en un navegador generalmente incluye las siguientes partes, protocolo, nombre de dominio y puerto.Cualquiera de estos tres es diferente y es multidominio.
El siguiente es Jsonp para resolver dominios cruzados:
En primer lugar: ajax no puede acceder a las interfaces expuestas por otros servidores: ejemplo 3000→3001 (interfaz), porque las etiquetas link, img, script (recurso estático) pueden acceder a recursos en otros servicios. Así que usamos script
window.cb = data =>{
// 创建回调函数。监测服务端返回的数据
console.log(data)
}
const src = `http://localhost:3001/users/login?cbName = cb&username = ${
username}&password = ${
password}`;
$("<script>").attr("src",src).appendTo("body") // 利用jQuery创建script标签,添加到body元素;
res.send(`${
cbName}(${
JSON.stringify(data)})`) // 回调执行函数
Lo anterior es cómo funciona jsonp. En resumen, json es un formato de datos, jsonp es una forma de llamar a los datos y json con devolución de llamada es jsonp.
Desventajas: este método solo admite el método get.