我正在尝试保存如下主干集合:
var backgridModel = Backbone.Model.extend({ });
var BackgridCollection = Backbone.Collection.extend({
model: backgridModel,
url : 'api/list'
});
var backgriCollections = new BackgridCollection();
backgriCollections.fetch();
var CreatePuppetRequest = Backbone.Model.extend({
url : 'api/createTable',
toJSON: function() {
console.log(backgriCollections.toJSON());
return backgriCollections.toJSON();
}
});
我像下面这样进行服务器调用:
var puppetTable = new CreatePuppetRequest();
puppetTable.save({}, {
success : function(model, response) {
alert("Successfully submitted " + num + " puppet(s)");
puppetFinalCollection.reset();
$('#create-puppet-table-button').removeAttr("disabled");
},
error : function(model, response) {
if (response.status == 400)
that.showErrors($.parseJSON(response["responseText"]));
else
console.log(response["responseText"]);
puppetFinalCollection.reset();
$('#create-puppet-table-button').removeAttr("disabled");
}
});
控制台输出
0: Object
designation: "m"
firstName: "sdfghj"
function (){ return parent.apply(this, arguments); }: Object
lastName: "sdfghj"
__proto__: Object
length: 1
__proto__: Array[0]
function (){ return parent.apply(this, arguments); }: Object
额外添加到模型中,我不知道为什么要添加它?
除此之外,我还得到了这个Uncaught TypeError: Converting circular structure to JSON
,它也阻止了服务器调用。
编辑
从服务器获取((后,我的数据看起来像以下JSON字符串:
[
{
"userid": "",
"firstName": "Mayank",
"lastName": "Kumar",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Shylendra",
"lastName": "Bhat",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Akash",
"lastName": "Waran",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Shreyas",
"lastName": "Lokkur",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Anthony",
"lastName": "Raj",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Dheemanth",
"lastName": "Bharadwaj",
"designation": "Software Engineer"
},
{
"userid": "",
"firstName": "Prasanna",
"lastName": "Adiga",
"designation": "Software Engineer"
}
]
它也正在填充到表中。
当我将模型添加到集合时我犯了错误,我添加了一个类型而不是该类型的实例。
var backgridModel = Backbone.Model.extend({ });
是我应该添加的类型
var row = new backgridModel()
相反,我使用 backgridModel
创建了一个新行。