【发布时间】:2016-02-16 03:35:16
【问题描述】:
我正在我的 Angular 服务上使用 asp.net、mvc6 和 angularjs 开发一个应用程序。当我向操作方法发出请求时,我没有收到任何传递的数据。 检查请求后,我可以看到由以下原因引起的异常:
- 表单'((Microsoft.AspNet.Http.Internal.DefaultHttpRequest)this.Request).Form' 抛出类型异常 'System.InvalidOperationException' Microsoft.AspNet.Http.IFormCollection {System.InvalidOperationException}
异常消息说"Incorrect Content-Type:application/json;charset=UTF-8"
我的角度服务
return $http({ method: 'POST', url: 'home/createEvent', eventDetails: event })
.success(function(data, status, headers, config) {
return data;
})
.catch(function(data, status, headers, config) {
console.log(data);
});
在我的控制器上
[HttpPost]
public IActionResult CreateEvent([FromBody]Event eventDetails)
{
return Json(new {dsd=""},
new JsonSerializerSettings {ContractResolver = new CamelCasePropertyNamesContractResolver()});
}
【问题讨论】:
-
对此有何改进?
-
不,但这有效
var eventObj = JsonConvert.DeserializeObject<Event>(Request.Form["event"]);角度服务返回$http({ url: 'Home/CreateEvent', method: "POST", data: $.param({ event: JSON.stringify(event) }), headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).success(deffered.resolve).error(deffered.reject);
标签: c# angularjs asp.net-mvc