发布到服务器的Javascript控件表单字段
我有一个Backone JS模型,定义如下发布到服务器的Javascript控件表单字段,javascript,jquery,json,backbone.js,Javascript,Jquery,Json,Backbone.js,我有一个Backone JS模型,定义如下 var Class = BaseModel.extend({ idAttribute: "classId", urlRoot: "api/class", defaults: { "person": null, "classUrl": null, "classId": null } } var m
var Class = BaseModel.extend({
idAttribute: "classId",
urlRoot: "api/class",
defaults: {
"person": null,
"classUrl": null,
"classId": null
}
}
var myJSON = {
person : new Person(
{
"personId": $('#personName option:selected').data('personid'),
"personName": this.$('#personName').val()
}
),
classUrl: this.$('#classUrl').val()
}
在这里,person本身实际上是一个具有2个属性的对象/类;人名
我有一个UI表单,它有两个字段
var Class = BaseModel.extend({
idAttribute: "classId",
urlRoot: "api/class",
defaults: {
"person": null,
"classUrl": null,
"classId": null
}
}
var myJSON = {
person : new Person(
{
"personId": $('#personName option:selected').data('personid'),
"personName": this.$('#personName').val()
}
),
classUrl: this.$('#classUrl').val()
}
那么我会的
this.model.save(myJSON, {
url:
success:
}
然而,发布的JSON看起来像
{
person:,
classUrl:
personName:
}
我不想额外的人名(对应于下拉列表)被张贴
只是补充一下,我还有一个changeAction,它调用任何表单字段的change来进行验证。但在这里我有
changeAction: function (event) {
var self = this;
var target = event.target;
var change = {};
target.value = $.trim(target.value);
change[target.name] = target.value;
var tpmModel = this.model;
tpmModel.set(change);
var check = tpmModel.validateItem(target.id);
if (check.isValid === false) {
self.addValidationError(target.id, check.message);
} else {
self.removeValidationError(target.id);
}
}
如何处理此问题?当需要使用主干模型指定要发布的内容时,需要在save方法中使用“data”。它告诉主干网使用{}内的指定数据向服务器发布某些内容。 像这样
this.model.save(data: {"parameter1":"parameter1"
,"parameter2":"parameter2" })
或
这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。当然,你是对的,我的错。我会改进我的答案\0/