Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提取对象的主干_Php_Backbone.js - Fatal编程技术网

Php 提取对象的主干

Php 提取对象的主干,php,backbone.js,Php,Backbone.js,我在主干中有一个应用程序。 在这个应用程序中,我获取一个存储在服务器中的json。 出于某种原因,现在我不想从文件中获取json,而是从PHP传递的数组(与json相同的结构)获取json。 我可以修改代码来做同样的事情吗? 这是我的应用程序 var CombinationView = Backbone.View.extend({ template: _.template($("#hotel-list-template").html()), initialize: functi

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

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中的变量是
$list\u object


如何更改代码以获取对象而不是url?

您不能从javascript访问PHP变量。在获取了一些信息之后,php端已经完成了它的工作。无论你想做什么,都有两种方法

创建一个集合:

集合将以JSON的形式获取对象列表。然后将每个对象传递给一个模型类。通过这种方式,您可以获取对象列表,并从该列表中创建新模型。因为模型不会使用同步获取。应触发
更改
事件

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


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

你能不能不仅仅用json编码你的php数组并将其作为json返回给js,然后js就可以对其进行jsondecode编码并将其作为通常的数组JSONECODE()进行处理,但如何将其放入这个应用程序中,而不是从外部文件中获取数据?你能给我一个这样结构的例子吗?从一个文件中获取只是你的服务器,它提供静态文件,这与转到一个url是一样的,你的服务器发送一个JSON object.jsut更改url:“includes/list.JSON”到你的php文件的位置。确保您的php文件只输出json,这将是所有finewell javascript无法直接读取php变量,所以您基本上必须转到php>json解码>发送到javascript>json解码>javascript现在有工作数组。因此,只要您遵循这个过程,不管是从url上的文本文件还是从实际的.php文件引用php变量,都无所谓。它仍然有效地实现了通常所说的ajax请求。