我正在开发一个使用AngularJS前端和基于oData的ASP.NET后端的应用程序。我在发布工作请求时遇到了一些困难。我的控制器中的post方法基本上都是这样的:
Function Post(ByVal eDI_CUSTOMER As EDI_CUSTOMER) As IHttpActionResult
If Not ModelState.IsValid Then
Return BadRequest(ModelState)
End If
db.EDI_CUSTOMER.Add(eDI_CUSTOMER)
Try
db.SaveChanges()
Catch ex As DbUpdateException
If (EDI_CUSTOMERExists(eDI_CUSTOMER.ID)) Then
Return Conflict()
Else
Throw
End If
End Try
Return Created(eDI_CUSTOMER)
End Function
当我尝试发布帖子请求时,我可以在Chrome调试器中看到数据按预期传递。如果我使用内容类型" application / json" .NET控制器没有收到任何信息。如果我使用内容类型" application / x-www-form-urlencoded"收到具有预期属性的对象,但所有属性值都为空。
有谁知道我错过了什么?
我正在使用oData 4.
答案 0 :(得分:0)
添加代码以将JQuery(如序列化)用于我的运行块,如下所示:
.run(function($http, $httpParamSerializerJQLike) {
$http.defaults.transformRequest.unshift($httpParamSerializerJQLike);
})
为我解决了这个问题。