Backbone.js 主干:保存期间的特殊编码
注意:我知道这是错误的,但这是服务器团队的技术要求 我有一个扩展Backbone.Model的用户对象。它使用正常的、基本上良好的JSON从服务器接收数据 但是,在保存相同的信息时,需要使用url编码对电子邮件进行编码Backbone.js 主干:保存期间的特殊编码,backbone.js,Backbone.js,注意:我知道这是错误的,但这是服务器团队的技术要求 我有一个扩展Backbone.Model的用户对象。它使用正常的、基本上良好的JSON从服务器接收数据 但是,在保存相同的信息时,需要使用url编码对电子邮件进行编码 在接收数据时,可以使用Backbone.Model.parse方法对其进行预处理,是否有一种在发送数据之前对其进行预处理的等效方法?(不重写sync方法)我重写了Backbone.sync以将数据的格式更改为form encoded。但是,使用此方法保存作为数组的属性会成为一个问
在接收数据时,可以使用Backbone.Model.parse方法对其进行预处理,是否有一种在发送数据之前对其进行预处理的等效方法?(不重写sync方法)我重写了Backbone.sync以将数据的格式更改为form encoded。但是,使用此方法保存作为数组的属性会成为一个问题 可能有更好的方法覆盖sync,但我在backbone.js文件的第1180行添加了这段代码
//convert to form encoded
if (Backbone.sendFormEncoded) {
if (type === 'PUT' || type === 'DELETE' || type === 'POST') {
params.contentType = 'application/x-www-form-urlencoded';
var kvps = [], regEx = /%20/g;
var obj = model.toJSON();
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if(obj[key]) {
kvps.push(encodeURIComponent(key).replace(regEx, "+") + "=" + encodeURIComponent(obj[key].toString()).replace(regEx, "+"));
} else {
kvps.push(encodeURIComponent(key).replace(regEx, "+") + "=" + encodeURIComponent(obj[key]));
}
}
}
params.data = kvps ? kvps.join('&') : {};
}
}
确保将Backbone.sendFormEncoded设置为true,以便运行此代码块