Я новичок в angular, пытался найти много сообщений, но никто не помог мне получить данные в методе контроллера после сообщения angular js. Кто-нибудь знает, почему параметры объекта модели пусты, хотя angularjs post отправляет данные?
это полезная нагрузка запроса, которую я нашел в отладчике chrome, так что я думаю, что все идет к bakend правильно ..
{Name: "MyName"}
Name: "MyName"
FrontEnd:
<div id="divMain" ng-app="testCtrl">
<div id="divTblForm" class="border" ng-controller="ButtonsController">
<input id="btnTest" class="inptSubmit right roundBorder" type="button" value="Test" ng-click="test()" />
</div>
</div>
вот javascript (я попытался привести в соответствие, без stringify, имена свойств в кавычках objToSearch, не в кавычках и так далее. .)
function getAngularApp() {
return angular.module('testCtrl', []);
}
app.controller('ButtonsController', function ($scope, $http) {
$scope.test = function () {
var objToSearch = {
Name: 'MyName'
}
$http.post("TestAngular/Test", JSON.stringify(objToSearch),
{
headers: {
"Content-Type": "application/json"
}
}
).success(function (response) {
alert(response)
})
.error(function (error) {
alert(error);
});
}
});
Backend: я пробовал с атрибутом FromBody и без него, и ни один из них не принес успеха ..
[RoutePrefix("TestAngular")]
public class TestAngularController : Controller
{
[System.Web.Http.Route("Test")]
[System.Web.Http.HttpPost]
public List<Test> Test([System.Web.Http.FromBody]Test test)
{
//breakpoint here, parameter 'test' values always empty or null..
return null;
}
}
вот класс модели
public class Test
{
public string Name { get; set; }
}
Может кто-нибудь помочь, пожалуйста? Я потратил уже более 4 часов на поиск похожих тем и попыток. это становится действительно изнурительным. (