4

私は初めてparse.comを使用し、javascriptapiを使用してjson応答を取得する方法を探しています。実際、私はテンプレートエンジンとしてハンドルバーを使用しており、parse.comからjson応答フォームを取得しようとしているので、ハンドルバーテンプレートに簡単に渡すことができます。現在、result.get( "title")のように実行する必要のあるオブジェクト応答を取得しています。parse.com javascriptガイドとドキュメントを検索しましたが、これを行う方法が見つかりませんでした。parse.comクラスからすべてのフィードレコードをjsonとして取得したいと思います。これを解決する方法はありますか?

ここにハンドルバーテンプレートスクリプトがあります::

<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>

テンプレートのテストに使用しているサンプルjson::

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'
    }
]

およびparse.comスクリプト::

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

        query.find({ ... });

私はそれを次のように取得するのが好きです::

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);
    }
});

前もって感謝します!!!

4

1 に答える 1

4

私はParse.comを使ったことがありません(実際、それが存在することを知りませんでした)。ただし、ここの例では、インスタンスの配列を返しParse.Objectます。

Parse.ObjecttoJSON()関数があります。これでうまくいくはずです。

だからあなたの場合:

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);
    }
});
于 2013-01-02T15:11:16.300 に答える