1
我已经使用Odata服务向导EF 6创建了向导Asp Mvc 5解决方案。 我想发送发布请求并在数据库 中创建记录,但是odata控制器运行请求但未将JSON映射到EF对象 我的ajax请求有什么问题?Asp Mvc 5发布Odata永不初始化数据
OData的方法:
// POST: odata/SchoolChildrens
public async Task<IHttpActionResult> Post(SchoolChildrens schoolChildrens)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.SchoolChildrensSet.Add(schoolChildrens);
await db.SaveChangesAsync();
return Created(schoolChildrens);
}
JavaScript对象侧(不是所有的DB属性在这里客户端无需)的发送请求代码
var children = function() {
var self = this;
self.Id = ko.observable(0);
self.FullName = ko.observable();
self.IsPrivilege = ko.observable(false);
self.UseInShortMenu = ko.observable(false);
}
部分,两者的情况下不能初始化数据
self.addItem = function() {
var newStudent = ko.toJSON(self.newRow());
$.post("/odata/SchoolChildrens", JSON.stringify(newStudent), function (result) {
self.childrenList.push(result.value);
}).fail(function() { console.log("Function : Add SchoolChildrens error"); });
$.ajax({
type: "POST",
url: "/odata/SchoolChildrens",
data: newStudent,
success: function(result) {
self.childrenList.push(result.value);
},
dataType: 'json',
contentType: 'application/json'
});
};
我试图发送JSON {schoolChildrens:ko.toJSON(self.newRow())}在地图变量名BU它也失败了。 我应该如何正确发送邮寄请求到odata控制器?
FromBody似乎对OData的 –
不要紧lkie dos't工作采取什么行动的方法执行 - 'FromBody'属性解析请求体数据方法的参数对象 – Andrew