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'); });
}
}
IngredientsController
[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 ......
答案 0 :(得分:0)
我按照@Sajal的说法,删除了" $ scope.newIngs.push(ing);"然后更改了数据" $ scope.newIngs"到" ing"现在它有效!
man