Avatar ·

O que é JSONP e por que foi criado? Explique em palavras simples com exemplos

Olá a todos! Sou um desenvolvedor front-end iniciante e estou tentando entender o tópico de requisições cross-domain. Eu sei que existe CORS, mas me deparei com menções a JSONP em projetos antigos e na documentação de algumas APIs (por exemplo, na versão antiga da API do Google Maps). Não entendo muito bem como isso funciona. Aparentemente, é uma forma de contornar as restrições do navegador para requisições a outro domínio. Mas como exatamente? E por que a palavra "padding" é usada no nome? Suponha que eu tenha este código em JavaScript que tenta obter dados de outro servidor: ```javascript // Requisição fetch comum para outro domínio fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Erro:', error)); ``` Este código não funcionará se o servidor `api.example.com` não configurar os cabeçalhos CORS. Mas ouvi dizer que JSONP permite contornar essa limitação sem suporte a CORS no servidor. Como isso é possível? Afinal, o navegador bloqueia requisições — isso é...