我有一个骨干应用程序。 在这个应用程序中,我获取存储在我的服务器中的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
如何更改我的代码以获取对象而不是网址?
答案 0 :(得分:2)
你无法从javascript访问PHP变量。获取一些信息之后,php方面已经完成了它的工作。有两种方法可以做你想做的事。
创建一个集合:http://backbonejs.org/#Collection
该集合将以JSON的形式获取对象列表。然后将每个对象传递给Model类。这样,您可以获取对象列表,并从此列表中创建新模型。由于模型不会使用同步获取。应触发change
事件。
您可以做的另一件事是获取特定对象。指定对象时,它会向php服务器发送一个ID。使用此id,您可以在列表中加载特定元素并将其解析为JSON。
同样,从JS中,您只能从服务器或流中获取文件。 Websocket是在javascript中获得长寿命全双工套接字的唯一方法。