Angularjs $ http.post但asp.net 5控制器获取null

时间:2016-03-29 02:48:59

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

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

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

});

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

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

}

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

之前我已经通过使用asp.net mvc 5完成了这项工作。

为什么asp.net 5出错了?

4 个答案:

答案 0 :(得分:1)

更改您的控制器代码,如下所示:

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

}

答案 1 :(得分:0)

使用,

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

});

答案 2 :(得分:0)

试试这个

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

    });

答案 3 :(得分:0)

在我的情况下,控制器参数名称与模型中的属性名称相同。因此失败。

用于Ex-in控制器 公共JsonResult方法(BindingModel 名字,ViewState viewState)

在BindingModel中

Class BindingModel { 字符串名字, 字符串姓氏 }