2009-11-24 4 views
1

Je suis un débutant prototype et je suis pas clair sur la façon de traiter plusieurs objets JSON retournés. Par exemple, je voudrais retourner une simple carte JSONObject indiquant le succès/l'échec et aussi retourner un JSONArray que je peux indexer et construire une sélection: options à partir de. Maintenant, chaque objet json sera dans l'en-tête avec un nom différent. Comment est-ce que j'analyse dehors dehors le côté client et alerte sur un nom/valeur d'échec sinon construisons l'élément d'option select:? tia.prototype plusieurs objets JSON

Répondre

3

Supposons que votre/service someurl envoie une réponse comme ceci:

{ 
    "status": "ok", 
    "data":["apples", "oranges", "bananas"] 
} 

Ce que je l'ai fait ici est de combiner les deux objets en un seul objet. Dans le client, vous pouvez gérer quelque chose comme ça.

new Ajax.Request('/someurl', { 
    method:'get', 
    requestHeaders: {Accept: 'application/json'}, 
    onSuccess: function(transport){ 
    var json = transport.responseText.evalJSON(); 
    if(json.status != 'ok') 
    { 
     alert('status "'+json.status+'" not ok') 
     return; // or throw a fit 
    } 
    json.data.each(function(elt){ 
     alert(elt); // or display it, whatever 
    }); 
    } 
}); 
Questions connexes