当vm.Name从视图传递到控制器时返回null,但是当我在视图中调用数据时,它显示正常。
$scope.afterSelectedIngredient = function (selected) {
if (selected) {
$scope.selectedIngredient = selected.originalObject;
$scope.newIngs = [];
var ing = {};
ing.Name = $scope.selectedIngredient;
$scope.newIngs.push(ing);
console.log($scope.newIngs)
$http({
method: 'POST',
url: '/Ingredients/createIngredient',
data: $scope.newIngs
}).then(function (response) {
console.log("ingredient exist: "+response.data)
}, function () { alert('Error'); });
}
}
成分控制器
[HttpPost]
public ActionResult createIngredient(Ingredient vm)
{
Ingredient ingredient = new Ingredient();
ingredient.Name = vm.Name;
bool IngredientExists = db.Ingredients.Any(ing => ing.Name==vm.Name);
if (IngredientExists)
{
return Json(IngredientExists);
}
else
{
db.Ingredients.Add(ingredient);
db.SaveChanges();
}
return Json(IngredientExists);
}
我尝试了以下但vm仍然返回null
我也尝试了其他的东西,但最后它仍然返回null ...
我按照@Sajal的说法,删除了“$ scope.newIngs.push(ing);”然后将数据“$ scope.newIngs”更改为“ing”,现在它可以工作了!
$scope.afterSelectedIngredient = function (selected) {
if (selected) {
$scope.selectedIngredient = selected.originalObject;
$scope.newIngs = [];
var ing = {};
ing.Name = $scope.selectedIngredient;
console.log($scope.newIngs)
$http({
method: 'POST',
url: '/Ingredients/createIngredient',
data: ing
}).then(function (response) {
console.log("ingredient exist: "+response.data)
}, function () { alert('Error'); });
}
}