对我来说似乎有点奇怪,您的服务器正在发送一些它不会接受的东西。我看到两个选项:
- 过滤掉
name_backwards
控制器中的传入。
- 停止发送
name_backwards
,让客户端处理。
1很简单,只需:name_backwards
从params
.
2涉及更多一点。首先,您将停止添加name_backwards
到输出的 JSON 中。然后你可以添加name_backwards
你的模型parse
:
parse: function(response) {
response.name_backwards = reverse(response.name);
return response;
}
有关在 JavaScript 中反转字符串的可靠方法,请参阅此答案。
然后你会想name_backwards
在你的模型中忽略toJSON
:
toJSON: function() {
var o = _(this.attributes).clone(); // This is what the standard toJSON does.
delete o.name_backwards;
return o;
}
然后添加一种serialize
方法来使用,而不是toJSON
在将模型提供给模板时使用:
serialize: function() {
return _(this.attributes).clone();
}
如果您想要一种简单的方法在模型和模板之间建立一致的界面,您可以轻松serialize
地进行修补。Backbone.Model.prototype