Angularjs $http.post 但 asp.net 5 控制器为空
Angularjs $http.post but asp.net 5 controller gets null
在我的 angularjs 代码中我有这个:
$http.post("Home/PostData", {name:'Peter',age:18}).success(function (response) {
});
我的 asp.net 5 控制器中有这个方法:
[HttpPost]
public IActionResult PostData(string name,int age)
{
}
我在方法上设置了一个断点,它被触发了,但是我的名字是空的,年龄是 0。
我之前使用 asp.net mvc 5 做到了这一点并且成功了。
为什么asp.net5 错了?
使用,
$http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {
});
试试这个
$http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){
});
像下面这样更改您的控制器代码:
public class PostModel
{
public string name { get; set; }
public int age { get; set; }
}
[HttpPost]
public IActionResult PostData([FromBody]PostModel model)
{
}
在我的例子中,控制器参数名称与模型中的 属性 名称相同。由于这个原因它失败了。
对于 Ex-in 控制器
public JsonResult 方法(BindingModel firstname, ViewState viewState)
在绑定模型中--
class绑定模型{
字符串 名字,
字符串姓氏
}
在我的 angularjs 代码中我有这个:
$http.post("Home/PostData", {name:'Peter',age:18}).success(function (response) {
});
我的 asp.net 5 控制器中有这个方法:
[HttpPost]
public IActionResult PostData(string name,int age)
{
}
我在方法上设置了一个断点,它被触发了,但是我的名字是空的,年龄是 0。
我之前使用 asp.net mvc 5 做到了这一点并且成功了。
为什么asp.net5 错了?
使用,
$http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {
});
试试这个
$http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){
});
像下面这样更改您的控制器代码:
public class PostModel
{
public string name { get; set; }
public int age { get; set; }
}
[HttpPost]
public IActionResult PostData([FromBody]PostModel model)
{
}
在我的例子中,控制器参数名称与模型中的 属性 名称相同。由于这个原因它失败了。
对于 Ex-in 控制器 public JsonResult 方法(BindingModel firstname, ViewState viewState)
在绑定模型中--
class绑定模型{ 字符串 名字, 字符串姓氏 }