我正在开发一个应用程序,它使用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当我试图发出post请求时,我可以在Chrome调试器中看到数据按预期传递。如果我使用"application/json“的内容类型,.NET控制器就不会接收到任何信息。如果我使用“application/x form-urlencoded”的内容类型,就会收到一个具有预期属性的对象,但是所有的属性值都是空的。
有人知道我错过了什么吗?
我正在使用oData 4。
发布于 2016-04-07 20:27:52
将代码添加到我的运行块以使用像序列化一样的JQuery,如下所示:
.run(function($http, $httpParamSerializerJQLike) {
$http.defaults.transformRequest.unshift($httpParamSerializerJQLike);
})帮我解决了这个问题。
https://stackoverflow.com/questions/36485543
复制相似问题