使用this.model.save()保存模型和使用jquery ajax类型PUT似乎有一些区别?
我在API控制器下面的方法
public void Put(string id, [FromBody]IContent value) {
// save
}
我也启用TypeNameHandling对JSON格式序列化的设置是这样的:
config.Formatters.JsonFormatter.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;
如果我把使用jQuery阿贾克斯这样的一些数据
$.ajax({
url: "/api/page/articles/1",
type: "PUT",
dataType: "json",
contentType: "application/json",
data: JSON.stringify({"$type": "BrickPile.Samples.Models.Article,BrickPile.Samples","id": "articles/1", "heading": "Some heading..." })
});
我的对象绑定正确的put方法,但是当我尝试使用模型中的model.save()保存我的对象,输入值为空,它不能绑定对象?
这是我要做的事:
this.model.set({ heading: 'foo' });
this.model.save();
请求头似乎看行和有效载荷似乎是JSON,至少如果我看着萤火虫。也可以使用相同有效负载的提琴手将一些数据放入我的api中,但是如果我从萤火虫中复制有效负载源,请参阅:http://cl.ly/Nked
任何人都可以解释我在这里做错了什么吗?