Avatar ·

¿Qué es JSONP y por qué fue creado? Explica en palabras simples con ejemplos

¡Hola a todos! Soy un desarrollador frontend principiante y estoy tratando de entender el tema de las solicitudes entre dominios. Sé que existe CORS, pero me topé con la mención de JSONP en proyectos antiguos y en la documentación de algunas APIs (por ejemplo, en la versión antigua de Google Maps API). No entiendo del todo cómo funciona. Parece ser una forma de evitar las restricciones del navegador para las solicitudes a otro dominio. Pero, ¿cómo exactamente? ¿Y por qué se usa la palabra "padding" en el nombre? Supongamos que tengo este código en JavaScript que intenta obtener datos de otro servidor: ```javascript // Solicitud fetch normal a otro dominio fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` Este código no funcionará si el servidor `api.example.com` no configura los encabezados CORS. Pero he oído que JSONP permite evitar esta restricción sin soporte de CORS en el servidor. ¿Cómo es posible? Porque el navegador bloquea las solicitudes, ¿eso no...