1

私はバックボーンが初めてで、バックボーン js バックエンドを使用し、json オブジェクトを返す残りの API (レールで作成) を呼び出すアプリで簡単な例を試しています。ブラウザーに残りの API URL を入力すると、JSON データが正常に返されます。しかし、アプリを起動すると、API が空の応答を返していることがわかります (ただし、200 OK ステータスが返されます)。この URL を Twitter 検索 API に置き換えると、データも正常に返されます。SO 問題は Rails REST API のみにあるようです。ここに私のバックボーンコードがあります:

var Product = Backbone.Model.extend();

var ProductList = Backbone.Collection.extend({
model: Product,
url: 'http://hvo-lnx.cisco.com:7777/product_families.json'
});

var ProductView = Backbone.View.extend({
template: _.template($('#prodlist_template').html()),
render: function(eventName) {
_.each(this.model.models, function(product){
    var lProductName = product.attributes['name'];
    var lTemplate = this.template(product.toJSON());

    $(this.el).append(lTemplate);
  }, this);
return this;
}
 });


var lProducts = new ProductList;

var AppView = Backbone.View.extend({
  el: "body",

  render: function(){
    var lProductsView = new ProductView({model:lProducts});
    var lHtml = lProductsView.render().el;
    $('#products').html(lHtml);
  },

initialize: function(){
   var lOptions = {};
   lOptions.success = this.render;
   lProducts.fetch(lOptions);
}
});

var App = new AppView;

HTML:

<html>
    <head>
        <link rel="stylesheet" href="css/bootstrap.css" />
    </head>
    <body>
        <ol id="products">
            <script type="text/template" id="prodlist_template">
                  <li><%= name %></li>
            </script>
        </ol>
        <script src="js/jquery-1.9.1.min.js"></script>
        <script src="js/underscore-min.js"></script>
        <script src="js/backbone-min.js"></script>
        <script src="js/prodtest.js"></script>
    </body>
</html>

URL をhttp://search.twitter.com/search.json?q=NYC&callback=に置き換えると? 属性フィールドを変更すると、問題なく動作します。他の誰かがこの問題を経験しましたか? ポインタをいただければ幸いです。

4

0 に答える 0