la construction d'une enveloppe de jsonp pour les données JSON
Question
Ive été tryin pour résoudre ce depuis longtemps et savent maintenant pourquoi il est pas possible. L'URL
http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results = 3
retourne un JSON, mais quand j'ajouter un « & rappel = get » avec elle, il ne marche pas préciser la fonction enveloppe de rappel.
La seule solution est maintenant de construire une enveloppe manuellement autour des données JSON.
Ma question est de savoir comment puis-je faire cela. Y at-il un code déjà existant en php / javascript que je peux changer selon mes spécifications.
Un conseil sera apprécié.
Merci
Anand
La solution
Eh bien, le but de JSONP est d'envelopper le JSON (qui sera évalué comme JavaScript côté client) dans un rappel que seul le client qui demande les données sait. Cela empêche le client d'exécuter du code JavaScript indésirable. Sans l'unité d'organisation de rappel aura le même problème de politique d'origine (qui résout JSONP), de sorte que vous ne pouvez demander tot qu'il URL du script est venu.
Fondamentalement, vous devrez joindre le rappel avec PHP, ce qui signifie sur le côté serveur, avec un script proxy. Le script extrait les données de l'autre URL et l'encapsule dans un rappel:
<?php
// Don't know on the fly how to request data from another URL in PHP, but it's easy to find out
$response = request_url('http://twittercounter.com/api/?username=Anand%5FDasgupta&output=json&results=3');
echo $_GET['callback'] . '(' . $response . ')';
?>