如何在骨干网中发送模型数组到Post API方法?
我在我的mvc应用程序中使用backbone.js,我有一个场景,我必须将数组传递给Rest API中的Post方法。我试图发送一个模型数组,然后调用this.collection.create(模型)。我试图将Post方法称为
var ModelArray = Backbone.Model.extend({
urlRoot: av.api.patientInsuranceAddress,
toJSON: function () {
return this.collection.toJSON();
}
});
var modelCollection = new ModelArray(
{
collection: this.collection.models
});
modelCollection.save();
这里e.models是一个模型数组,我转换为json并调用Post方法,我想在Post方法上接收像这样的模型数组
public HttpResponseMessage Post(InsuranceAddressViewModel[] model)
{
return null;
}
但是我在Post方法中得到了null数组。我将模型数组转换为json的方法很好或者必须做其他事情。我尝试了几种解决方案,但无法理解。请指导
我正在尝试这个 solution
当控件来到模型中的toJSON时。它给出了Uncaught RangeError:超出了最大调用堆栈大小。请指导
I am posting my code here
var PayerAddress = Backbone.Model.extend({
urlRoot: av.api.patientInsuranceAddress,
defaults: {
Address: '',
City: '',
State: '',
Zip: ''
},
toJSON: function () {
return this.collection.toJSON();
}
});
var Payers = Backbone.Collection.extend({
//url: av.api.patientInsuranceAddress,
model: PayerAddress,
});
"Done": {
class: 'btn',
text: "Done",
click: function () {
payerName = self.$el.find('#Payer').val();
var ModelArray = Backbone.Model.extend({
urlRoot: av.api.patientInsuranceAddress,
toJSON: function () {
return this.collection.toJSON();
}
});
var modelCollection = new ModelArray(
{
collection: self.collection.models
});
modelCollection.save();
//self.closedialog();
$(this).dialog("close");
}
}
答案 0 :(得分:0)
您是否尝试将模型添加到现有集合中,或者您是否尝试使用一堆模型替换您的集合?如果后者使用:
this.collection.reset(e.models);
以下this.collection.create(myArrayofModels );
'用于在集合中创建模型的新实例。在上面的示例中,您将粘贴一个字符串。然后Backbone尝试将该字符串作为模型添加到您的集合中。