使用backbone.js和id与字母的问题

时间:2013-09-25 18:01:21

标签: javascript backbone.js underscore.js

我遇到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”, “标题”: “测试”

1 个答案:

答案 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;
  }
})