2013-01-02 3 views
4

J'utilise parse.com pour la première fois et je cherche comment obtenir une réponse json en utilisant javascript api. En fait, j'utilise le guidon comme moteur de template et j'essaye d'obtenir le formulaire de réponse json parse.com pour que je puisse facilement le passer au guidon. actuellement, je reçois une réponse d'objet qui doit faire comme result.get ("title"). J'ai cherché le guide javascript de parse.com et la documentation, mais je n'ai pas trouvé le moyen de le faire. Je veux obtenir tous les enregistrements de flux de la classe parse.com comme json. y a-t-il un moyen de faire cela n'importe quelle soution ??comment obtenir le formulaire de réponse json parse.com en utilisant query.find(); en utilisant javascript dans l'application web?

est ici script de modèle guidon ::

<script id="post-template" type="text/x-handlebars-template"> 
    {{#each feeds}} 
     <div class="post" style="padding-top: 5px; width: 307px; margin: 0 auto;" > 
      <div style="background: rgba(255,255,255, 0.5); text-align: left;"> 
       <img src="{{post-img}}" alt="image"/> 
       <p>{{post-mes}}</p> 
       <p style="position: relative;"> 
        <img src="{{post-by-img}}" alt="image" /><label> By @{{post-by}}</label> 
        <label class="ago" style="vertical-align: top; position: absolute; right: 10px; top: 18px; height: 20px;">{{post-dt}}</label> 
       </p> 
      </div> 
      <div> 
       <a href="javascript: alert('Like')" class="button like" >Like</a> 
       <a href="javascript: alert('Comment')" class="button comment" >Comment</a> 
       <a href="javascript: alert('Share')" class="button share" >Share</a> 
      </div> 
     </div> 
     {{/each}} 
    </script> 

exemple JSON j'utilise pour tester modèle ::

feeds:[ 
    { 
    'post-img': 'assets/images/photo1.png', 
    'post-mes': 'Before the party, with @Marie', 
    'post-by': 'Naza', 
    'post-by-img':'assets/images/by.jpg', 
    'post-dt': '5 min' 
    }, 
    { 
    'post-img': 'assets/images/photo1.png', 
    'post-mes': 'Before the party, with @Marie', 
    'post-by': 'Naza', 
    'post-by-img':'assets/images/by.jpg', 
    'post-dt': '10 min' 
    }, 
    { 
    'post-img': 'assets/images/photo1.png', 
    'post-mes': 'Before the party, with @Marie', 
    'post-by': 'Naza', 
    'post-by-img':'assets/images/by.jpg', 
    'post-dt': '15 min' 
    } 
] 

et un script parse.com ::

var feedsObject = Parse.Object.extend("feeds"); 
var query = new Parse.Query(feedsObject); 

     query.find({ ... }); 

i comme pour l'obtenir comme suit ::

query.find({ 
    success: function(feeds){ 
     //load home page template 
     var source = $('#post-template').html(); 
     var template = Handlebars.compile(source); 
     var html = template(feeds); // here's example with some details [link](http://screencast.com/t/XvPFuafRuIW) 
     $('#home .content').append(html); 

    }, 
    error: function(object, error){ 
     console.log(error); 
    } 
}); 

merci d'avance !!!

+0

Aucun extrait de code? – asgoth

+0

@asgoth Voici le script du modèle de guidon: [link] (http://screencast.com/t/lBYE9JCTi) et l'objet démo json avec: [link] (http://screencast.com/t/yyqYeEHlJo) . maintenant j'essaye d'obtenir la même réponse de json de parse.com. et voici mon script d'analyse: [link] (http://screencast.com/t/XvPFuafRuIW) (_i je sais que le script est faux mais c'est un exemple de comment je veux que la réponse soit (en tant que json pour que je puisse passer le c'est comme dans la capture d'écran) _). Actuellement, il y a plusieurs données et je dois faire query.count et quelque chose comme feeds [i] .get ("feed_des") etc – krozero

+0

il pourrait être plus facile si vous juste copiez/collez les extraits dans votre question. Facilite le suivi pour les utilisateurs SO – asgoth

Répondre

4

Je n'ai jamais utilisé Parse.com (en fait, je ne savais pas qu'il existait). Mais dans l'exemple here, il renvoie un tableau de Parse.Object instances.

Parse.Object a une fonction toJSON(). Cela devrait le faire.

Donc dans votre cas:

query.find({ 
    success: function(feeds){ 
     var jsonArray = []; 

     for(var i = 0; i < feeds.length; i++) { 
      jsonArray.push(feeds[i].toJSON()); 
     } 

     //load home page template 
     var source = $('#post-template').html(); 
     var template = Handlebars.compile(source); 
     var html = template(jsonArray); // here's example with some details [link](http://screencast.com/t/XvPFuafRuIW) 
     $('#home .content').append(html); 

    }, 
    error: function(object, error){ 
     console.log(error); 
    } 
}); 
+0

merci @asgoth !!! – krozero

+3

Il devrait vraiment y avoir un moyen d'ignorer l'itération à travers le tableau et d'appeler simplement un toJSON sur le tableau réel retourné. –

Questions connexes