Confuso sobre como funciona uma solicitação JSONP
Estou tendo problemas para entender os detalhes de como uma solicitação jsonp funciona. Eu li várias fontes incluindo o wiki no jsonp e ainda estou muito confuso sobre como o retorno de chamada realmente obtém a função retornada do servidor quando uma chamada jsonp é feita. Por exemplo, no wiki, a origem da solicitação é configurada como:
<code>src="http://server2.example.com/RetrieveUser?UserId=1234&jsonp=parseResponse" </code>
O que exatamente o jsonp = parseResponse realmente faz / significa ?? Então eles dizem que a carga é:
<code>parseResponse({"Name": "Foo", "Id" : 1234, "Rank": 7}); </code>
Como é que isso funciona? Estou confuso em toda a funcionalidade de retorno de chamada. O nome da função parseResponse é passado para o servidor e, de alguma forma, os dados retornados se tornam parâmetros para essa função? Alguém pode explicar claramente exatamente como os dados são recuperados / usados de uma solicitação jsonp?