Devido à política de mesma origem, linguagens client-side, como o JavaScript só podem fazer chamadas para o mesmo domínio. Se fizer uma chamada AJAX para outro domínio, ou então para seu próprio domínio, mas com uma porta diferente, HTTPS ou para um subdomínio, a chamada Ajax vai falhar.
JSONP ou "JSON with padding" é um complemento ao formato de dados JSON. Ele provê um método para enviar requisições de dados de um servidor para um domínio diferente, uma coisa proibida pelos navegadores típicos.