AngularJS和WebApi POST在控制器中变为null

时间:2015-02-06 11:34:09

标签: asp.net-mvc angularjs asp.net-web-api

我正在尝试对Web api服务器进行POST。控制器如下所示:

public void Post([FromBody] string value)
{
    string a = value;
}

角度$资源和控制器:

$scope.makeLoan = function(){
    var cartData = CartFactory.cartData;
    LoanFactory.save(JSON.stringify(cartData));
}

.factory('LoanFactory', function ($resource) {
    return $resource('/api/loan/:id',
        {id: '@id'},
        {"update" : {method:"PUT"}}
    );
});

问题是我在“a”字符串中变为null,与值相同。 我尝试从角度发送纯字符串,但结果是一样的。 可能是什么问题,我错过了什么?

2 个答案:

答案 0 :(得分:0)

在保存中使用hash .save({id:value_to_send})

LoanFactory.save({id:JSON.stringify(cartData)});

答案 1 :(得分:0)

评论更好地说明了:

.factory('LoanFactory', function ($resource) {
 return $resource('/api/loan/:id',
    {id: '@id'},
    {"update" : {method:"PUT"}},
    {save: 
         {transformRequest: function(data){
              return JSON.stringify(data);
         }}
 );
});