【问题标题】:Angularjs $http.post but asp.net 5 controller gets nullAngularjs $http.post 但 asp.net 5 控制器为空
【发布时间】:2016-07-16 10:19:28
【问题描述】:

在我的 angularjs 代码中,我有这个:

$http.post("Home/PostData", {name:'Peter',age:18}).success(function (response) {

});

我的 asp.net 5 控制器中有这个方法:

[HttpPost]
public IActionResult PostData(string name,int age)
{

}

我在方法上设置了一个断点,它被触发了,但我的名字是 null 并且年龄是 0。

我之前使用 asp.net mvc 5 已经做到了这一点,并且效果很好。

为什么在 asp.net 5 中出错了?

【问题讨论】:

    标签: asp.net angularjs asp.net-mvc xmlhttprequest asp.net-core


    【解决方案1】:

    在我的例子中,控制器参数名称与模型中的属性名称相同。由于这个原因它失败了。

    对于 Ex- in 控制器 public JsonResult Method(BindingModel firstname, ViewState viewState)

    在 BindingModel--

    类绑定模型{ 字符串 名字, 字符串姓氏 }

    【讨论】:

      【解决方案2】:

      改变你的控制器代码如下:

      public class PostModel
      {
          public string name { get; set; }
          public int age { get; set; }
      }
      [HttpPost]
      public IActionResult PostData([FromBody]PostModel model)
      {
      
      }
      

      【讨论】:

      • 感谢 adem caglin,你拯救了我的一天!
      【解决方案3】:

      试试这个

       $http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){
      
          });
      

      【讨论】:

        【解决方案4】:

        使用,

        $http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {
        
        });
        

        【讨论】:

          猜你喜欢
          • 2013-10-15
          • 2015-02-12
          • 1970-01-01
          • 1970-01-01
          • 2016-05-29
          • 1970-01-01
          • 2020-05-24
          • 2014-09-11
          • 1970-01-01
          相关资源
          最近更新 更多