Вы можете использовать метод serialize()
, чтобы не пропускать все поля одно за другим.Он отправит все данные формы на сервер, используя тип контента application/x-www-form-urlencoded
, как если бы это была стандартная отправка формы:
$('#myform').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// TODO: handle the success case
}
});
return false;
});
Другой возможностью является плагин формы jQuery :
$('#myform').ajaxForm(function(result) {
// TODO: handle the success case
});
Некоторые люди считают также полезным использовать помощники Ajax.BeginForm
для визуализации формы:
@using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "success" }))
{
... some input fields
}
В ASP.NET MVC 3 вам необходимо включитьjquery.unobtrusive-ajax.js
скрипт, который ненавязчиво AJAX увеличивает атрибуты HTML 5 data-*
, испускаемые помощником Ajax.