【发布时间】:2016-12-21 12:53:47
【问题描述】:
我无法从 Angular $http post 方法调用 C# Web API,如下所示。
我的 JSON 对象如下
var requestParams = {
"CostObjects": $scope.costObjForSaveArray,
"CostObjectHierarchies": $scope.costObjHierarchyForSaveArray,
};
Angular API 调用如下
$http({
method: "POST",
url: API_ROOT + "BusinessDimension/UpdateCostObjects",
data: requestParams,
headers: {
"Content-Type": "application/json"
}
})
现在用.NET编写的API如下。
[HttpPost, ActionName("UpdateCostObjects")]
public HttpResponseMessage UpdateCostObjects([FromBody] JsonData data)
{
var costObjects = JsonConvert.DeserializeObject<List<CostObjectM>>(data.Data);
if (ModelState.IsValid)
{
var updatedCostObjects = Acornpadomainservice.UpdateCostObjects(costObjects).ToList();
return Request.CreateResponse(updatedCostObjects);
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
JSON 类如下
public class JsonData
{
public string Data { get; set; }
}
谁能纠正我做错了什么?
【问题讨论】:
-
你的函数被调用,但数据为空?
-
是@gaurav5430:但数据显示在chrome xhr网络的Request Payload中
标签: angularjs asp.net-mvc web-services http-post