我遇到Backbone.js的问题。 我的系统ID模式不一致。
事实是系统有两种类型的ID:
1)id:45(整数,默认并且正常工作) 2)id:app-45(有问题)
第一个问题是主干“理解”此ID(id:app-45)为(id:app:45)
第二个问题是当我运行更新时,骨干网将ID发送到0。
遵循请求的详细信息:
页眉: 请求URL:localhost(...) 请求方法:PUT 状态代码:200 OK
请求有效负载:
{ “ID”: “应用:120368”, “标题”: “测试”}
预览
预订:{ id:app:0 ,title:test}
响应:
{ “预订”:{ “ID”: “应用程序:0”, “标题”: “测试”
答案 0 :(得分:0)
您始终可以覆盖模型的.parse()
和.toJSON()
方法来转换id
值,例如
var Model = Backbone.Model.extend({
parse: function(response){
response.id = parseInt(response.id, 10); // or whatever function is appropriate
return response;
},
toJSON: function(){
var attrs = _.clone(this.attributes);
attrs.id = "app-" + attrs.id; // or whatever reverses the transformation
return attrs;
}
})