Angularjs $http.post, но контроллер asp.net 5 обнуляется
В моем коде 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.net 5?
4 ответа
Решение
Измените код вашего контроллера, как показано ниже:
public class PostModel
{
public string name { get; set; }
public int age { get; set; }
}
[HttpPost]
public IActionResult PostData([FromBody]PostModel model)
{
}
В моем случае имя параметра контроллера совпадает с именем свойства в модели. Его не удалось по этой причине.
Для бывшего в контроллере публичный метод JsonResult (имя BindingModel, ViewState viewState)
в BindingModel--
класс BindingModel{строка имя, строка фамилия}
Попробуй это
$http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){
});
Использование,
$http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {
});