正在AngularJs中发送带有$http的对象

本文关键字:http 对象 AngularJs 正在 | 更新日期: 2023-09-27 18:22:27

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调用中的data:jsonOrg有关。

为了澄清,我也尝试过$http.put(),但没有成功。我一定做错了什么。

正在AngularJs中发送带有$http的对象

尝试将控制器中的方法签名更改为:

// PUT: api/Organization/guid
[HttpPut]
public string UpdateOrganization(Guid id, [FromBody]Organization organization)
{
}