【问题标题】:Backbone.js Collection fetch with initial parameterBackbone.js 集合获取初始参数
【发布时间】:2012-05-20 22:33:27
【问题描述】:

有没有办法通过给 fetch() 提供初始模型参数来获取集合。

澄清一下:我有一个具有 name(作为字符串)和 numbers(array) 属性的模型 Human。我想在我的数据库中找到所有具有给定数字数组的人。 (示例: 我的数组中有 [123,342,4],对于每个数字,我想提取人名)。

我创建了一个 Human 集合,模型是 human。当我像这样获取时,它不会导致任何问题;

humanCollection.fetch({
            success:function(model,response){
                console.log(model.toJSON().length);
                var arr=model.toJSON();
                for(var i=0;i<arr.length;i++)
                    console.log(arr[i].humanName+" ");
                console.log("Success");
            },
            error:function(model,response){
                console.log(response);
                console.log("Failure");
            }
        });

我正在考虑创建一个没有名称而只有数字的 dummy 人类对象,然后将数字传递给我的 php.fetch()当我将参数放在开头时, 函数似乎不起作用。甚至下面的代码也不起作用;

 humanCollection.fetch({},{
                success:function(model,response){
                    console.log(model.toJSON().length);
                    var arr=model.toJSON();
                    for(var i=0;i<arr.length;i++)
                        console.log(arr[i].humanName+" ");
                    console.log("Success");
                },
                error:function(model,response){
                    console.log(response);
                    console.log("Failure");
                }
            });

可能是什么问题?为了检索具有给定数字的人类集合,我创建一个虚拟人体模型是否合乎逻辑。这是我能想到的传输特定所需 json 数据的唯一方法。

【问题讨论】:

    标签: php json collections backbone.js


    【解决方案1】:

    我觉得你搞砸了。

    据我了解,数字是您要获取的Human.ids

    如果这是正确的,这些 数字 没有任何意义成为Human 模型的一部分。我宁愿将它们移至Collection

    您必须准备集合以在 fetchURL 中发送 filter 参数,通知 服务器层集合想要获取的人类。

    您还必须准备 服务器层,以便能够处理 filter 参数以及您想要服务器的人类的 ids回应。

    因此,在 Backbone 集合中,我们可以像这样使用 fetch() 方法的 data 选项:

    humanCollection.fetch({ data: { ids: [123, 342, 4] } });
    

    服务器必须解析ids参数并只返回请求的人类。

    然后在您的收藏中您将只有您选择的人类,您可以向他们询问姓名或其他任何内容。

    【讨论】:

    • 嗨。 humanCollection.fetch({ data: { ids: [123, 342, 4] } }); 将创建字符串 ids%5B%5D=123&amp;ids%5B%5D=342&amp;ids%5B%5D=4 而不是 ids:123,342,4 你能帮帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 2013-07-01
    • 2011-11-08
    • 2011-10-03
    • 2013-08-29
    • 2012-05-10
    • 1970-01-01
    相关资源
    最近更新 更多