2015-09-07 30 views
1

發送POST請求的WebAPI我試圖調用一個方法,但參數是走出來的空參數爲空,而從angularjs

服務器端代碼

[HttpPost] 
     public IHttpActionResult PostRule(ActionRuleParameter actionRule) 
     { 
      // SOME CODE    
      return BadRequest(); 
     } 

     public class ActionRuleParameter 
     { 
      public string action; 
      public string rule; 
     } 

客戶端代碼

addRule: function ($scope) { 
      //var data = { "action": "post", "rule": { "ID": "1", "Name": "Ramesh", "PassFail": "Pass" } } 

      var data1 = { "action": "post","rule":"rule" }; 


      $http({ 
       url: urlContent + '/api/Rules', 
       method: "POST", 
       data: { "actionRule": data1 } 
      }).success(function (response) { 
       $scope.rules = response; 
      });; 
     }, 

actionrule出現爲空。

回答

0

我遇到了這個問題與Angular和新的ASP.NET堆棧。添加[FromBody]固定爲我這樣嘗試:

[HttpPost] 
public IHttpActionResult PostRule([FromBody]ActionRuleParameter actionRule) 
{ 
    // SOME CODE    
    return BadRequest(); 
} 
1

你需要你的參數之前加[FromBody]

public IHttpActionResult PostRule([FromBody]ActionRuleParameter actionRule) 
    { 
     // SOME CODE    
     return BadRequest(); 
    }