当我试图用.save()保存模型时,我得到了错误
Converting circular structure to JSON有趣的是,modelInstance.toJSON()工作得很好。
此错误将在backbone.js第1148行引发,即:
params.data = JSON.stringify(options.attrs || model.toJSON(options));下面是我如何设置模型:
var Clip = Backbone.RelationalModel.extend({
idAttribute: "mediaItemId",
defaults: {
node: {}
}
});
var clipCollection = Backbone.Collection.extend({
model: Clip
});
var mainModel = Backbone.RelationalModel.extend({
url: '/api/v0/videostate',
relations: [
{
type: Backbone.HasMany
,key: 'videoCollection'
,relatedModel: Clip
,collectionType: clipCollection
,includeInJSON: Clip.idAttribute
,reverseRelation: {
key: 'parent',
includeInJSON: Clip.idAttribute
}
}
],
});
var modelInstance = new mainModel()
modelInstance.fetch();加载到模型中的JSON:

发布于 2013-10-20 20:12:30
改变includeInJSON: Clip.idAttribute与includeInJSON: Clip.prototype.idAttribute的反向关系
就像这样
{
type: Backbone.HasMany
,key: 'videoCollection'
,relatedModel: Clip
,collectionType: clipCollection
,includeInJSON: Clip.prototype.idAttribute
,reverseRelation: {
key: 'parent',
includeInJSON: Clip.prototype.idAttribute
}
}发布于 2013-10-20 17:30:30
创建具有上述代码的JSFiddle,http://jsfiddle.net/ravikumaranantha/PuLxQ/6/,它不会抛出任何错误。
var Clip = Backbone.RelationalModel.extend({
idAttribute: "mediaItemId",
defaults: {
node: {} //could be problem here
}
});我只是感觉到问题可能是(不确定)在默认映射中有一个对象,您应该避免在默认情况下使用对象/数组,它们将在所有实例之间共享。如果您可以从fetch调用中发布响应,这将有助于我们进一步调试它。
https://stackoverflow.com/questions/19478206
复制相似问题