Простой пример как отправить Ajax’ом объект в JSON формате, в контроллер для дальнейшей работы с ним.
Незаполненные поля получат значение null.
Скрипт в представлении
<script>
$(document).ready(function () {
$('body').on('click', 'button[name="AddProduct"]', function () {
var product = JSON.stringify({
'Name': $('textarea[name="productName"]').val(),
'Cost': $('input[name="productCost"]').val(),
});
console.log(product);
$.ajax({
url: "/Products/AjaxCreate/",
method: "POST",
contentType: 'application/json',
data: product,
success: function (response) {
console.log(response);
}
});
});
});
</script>
Контроллер
[HttpPost]
public ActionResult AjaxCreate(Product product)
{
return Json(new { result = "success" }, JsonRequestBehavior.AllowGet);
}