2010-07-18 3 views
3

Nous essayons d'atteindre l'api meetup.com en utilisant la méthode getJSON() de jquery et rencontrons quelques problèmes. En Firebug nous pouvons exécuterJQuery réponse ajax getJSON a la taille mais le corps vide?

$.getJSON(
'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey', 
function(data) { console.log(data) } 
); 

Nous pouvons voir l'appel de prendre un certain temps. Nous pouvons inspecter l'en-tête de la réponse et voir que la taille du contenu est de 42K, mais le corps du contenu (tel que montré par firebug) est vide! Comment est-ce possible?

Lorsque nous indiquons l'URL dans le navigateur, nous avons tous les textes au format json appropriés sur la page.

Qu'est-ce qui manque?

PS. Nous avons essayé $ .ajax, et $ .get - les mêmes résultats avec chacun. Nous l'avons également essayé avec 3 paramètres où le premier est url, le second est nul, et le troisième est le callback.

+0

Appellez-vous un domaine distant/différent? –

+0

Oui, nous appelons le domaine meetup.com –

+0

Pouvez-vous poster une URL complète? Utilisez-vous 'callback =?' Dans l'URL? –

Répondre

5

Assurez-vous que vous avez callback=? dans la chaîne de requête de l'URL que vous tapez ... puisqu'il s'agit d'un domaine distant, vous devez utiliser ici JSONP (déclencheurs callback=?). Comme ceci:

$.getJSON(
'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey&callback=?', 
function(data) { console.log(data); } 
); 

Des $.getJSON() docs:

Si l'URL comprend la chaîne "callback=?" dans l'URL, la demande est traitée comme JSONP au lieu. Voir la discussion sur le type de données jsonp dans $.ajax() pour plus de détails.

+0

cette API est obsolète ils vous suggèrent d'utiliser leur version v2 – stanzheng

Questions connexes