【发布时间】:2014-09-17 20:05:32
【问题描述】:
Angular 看起来很优雅,但是当我尝试发送这个 $http 请求时,我收到了 500 错误。
$scope.UpdateOrganization = function (organization) {
var jsonOrg = JSON.stringify(organization);
var url = 'Organization/UpdateOrganization/' + organization.ActorId;
$http({
method: 'PUT',
url: url,
data: jsonOrg,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).success(function (data, status) {
}).error(function (data, status) {
});
}
在接收端,我使用的是 MVC 控制器。方法是这样的:
// PUT: api/Organization/guid
[HttpPut]
public string UpdateOrganization(Guid id, Organization organization)
{
}
基本上,我希望 C# 控制器接收 Angular PUT。但是,失败与数据有关:$http调用中的jsonOrg。
澄清一下,我也试过 $http.put() 没有成功。我一定是做错了什么。
【问题讨论】:
-
您应该真正包含错误。据我快速浏览,操作参数与您传递的 JSON 数据不匹配;应该是
data : { id : /* get the guid from somewhere */, organization: jsonOrg } -
我认为@PatrykĆwiek 是正确的。从代码看来,您只是将组织对象传递给端点,并没有提供 Guid。
标签: c# javascript asp.net-mvc angularjs