[英]Angular post object with arrays in it
我正在嘗試發布一個具有一些屬性和數組的對象。 屬性提交就很好了,但是對象中的數組沒有在MVC.NET控制器中序列化回去。 在此示例中,頁面已正確映射,但是數組對象(位置)在控制器中始終為null
。 有什么建議么?
//add some data
$scope.formData = {
Page: 1,
Locations: []
};
$scope.formData.Locations.push({
LocationID: 1,
LocationType: 1
});
$scope.formData.Locations.push({
LocationID: 2,
LocationType: 2
});
//post method
$http({
method: 'POST',
url: 'myurl',
params: $scope.formData,
}).then(function successCallback(
response) {
//do something
}, function errorCallback(response) {
//do something
});
服務器端模型
public class SearchAuctionData
{
public int Page { get; set; }
public List<SmallLocation> Locations { get; set; }
}
public class SmallLocation
{
public short LocationID { get; set; }
public short LocationType { get; set; }
}
控制者
[HttpPost]
[AllowAnonymous]
public async Task<JsonResult> GetAuctions(SearchAuctionData data)
{
//do somethng
return Json(result);
}
這個:
$http({
method: 'POST',
url: 'myurl',
params: $scope.formData,
應該:
$http({
method: 'POST',
url: 'myurl',
data: $scope.formData,
更好的是,使用服務(確保將其注入控制器):
app.factory("MyService", ["$http", function($http){
return {
postItem: function(url, item) {
return $http({
url: url,
method: 'POST',
data: item
});
}
}
}]);
控制器內部
MyService.postItem('/path/to/c#/controller', $scope.formData).then(successCallback).catch(failureCallback);
“控制器中的null
”是什么意思?
在您的POST請求之后?
還是在POST調用之前打印$scope.formData.Locations
,這是null
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.