Backbone获取一个对象

时间:2013-07-04 14:59:49

标签: php backbone.js

我有一个骨干应用程序。 在这个应用程序中,我获取存储在我的服务器中的json。 出于某种原因,我现在不想从文件中获取json,而是从数组(与Json相同的结构)从PHP传递。 何我可以改变我的代码做同样的事情? 这是我的应用

var CombinationView = Backbone.View.extend({ 
    template: _.template($("#hotel-list-template").html()),
    initialize: function(){ 
        this.list = new HotelCollection([], { 
            url: 'includes/list.json' 
        }); 

        this.list.on("sync", this.listLoaded, this); 

        this.list.fetch(); 
    }, 
    render: function(){ 
        this.$el.html('Loading...'); 
        return this; 
    }, 
    listLoaded: function(){ 
        //code
    }
});

我存储到php中的var是$list_object

如何更改我的代码以获取对象而不是网址?

1 个答案:

答案 0 :(得分:2)

你无法从javascript访问PHP变量。获取一些信息之后,php方面已经完成了它的工作。有两种方法可以做你想做的事。

创建一个集合:http://backbonejs.org/#Collection

该集合将以JSON的形式获取对象列表。然后将每个对象传递给Model类。这样,您可以获取对象列表,并从此列表中创建新模型。由于模型不会使用同步获取。应触发change事件。

您可以做的另一件事是获取特定对象。指定对象时,它会向php服务器发送一个ID。使用此id,您可以在列表中加载特定元素并将其解析为JSON。

同样,从JS中,您只能从服务器或流中获取文件。 Websocket是在javascript中获得长寿命全双工套接字的唯一方法。