我想在fetch
电话上通过骨干提出干净的请求。我的API的网址是/users/
,我想传递数据:
var users = new UsersCollection({ users_id: "1|2|3" });
users.fetch({
data: "users_id=1|2|3"
});
用户是UserModel
。
但网址变为/users/?users_id=1|2|3
,但我希望它为/users/1|2|3
。
我使用以下行.htaccess
RewriteRule ^(.*)/$ /api.php?fct=$1 [L]
我该怎么做?
答案 0 :(得分:0)
我认为使用查询参数来指定REST api应该要求的模型比" 1 | 2 | 3"语法,但如果规范是生成/ users / 1 | 2 | 3 url,可以这样实现:
var UsersCollection = Backbone.Collection.extend({
initialize: function(models, options){
this.requestedModelsId = options.modelsId;
},
url: function(){
return "/users/" + this.requestedModelsId.join("|"); //generates /users/1|2|3 if for requestedModelsId [1,2,3]
}
});
var users = new UsersCollection(undefined, {modelsId : [1,2,3]});
users.fetch();
通过这种方式,集合可以负责知道要获取的内容以及如何获取它。