1
vm.Nameは、ビューからコントローラに渡されたときにnullを返しますが、ビューのデータを呼び出すと、正常に表示されます。ビューからコントローラに渡されたときにJSONポストが返される
$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);
}
私は次のことを試してみましたが、それでも "化するJsonResult"
- ヌルを返されたVM [] "
- Wrappi
- )(JSON.stringify内のデータをngの私は続く... Ingredientモデル
私も他のものを試してみましたが、最後に、それはまだnullを返しに名前で必要
コントローラメソッドでは、オブジェクトでありコレクションではありません。あなたは '$ scope.newIngs'ではなく' $ http data'に 'ing'オブジェクトを渡すべきです。 – Sajal
それは働いた!ありがとう@Sajal – klent