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 é...