Я думаю, что вы только что получили несколько опечаток и ошибок.Вам нужно указать метод (и вы получили опечатку, получающую этот атрибут формы).Также вы устанавливаете метод как параметр type
.
Метод по умолчанию для вызова jjuery ajax - get
, поэтому вы не получите никакой стороны сервера данных, если ожидаете ее через post
.
$('form.ajax').on('submit', function () {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function (index, value) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
method: type,
data: data,
success: function(response) {
console.log(response);
}
});
return false;
});
Также рекомендуется установить, какой тип возвращаемых данных вы ожидаете от сервера.Ожидаемый тип данных по умолчанию для $.ajax
- это предположение (jQuery может обнаруживать json, xml, html и скрипт).Вы можете указать ожидаемый тип данных, используя опцию dataType
.
Также не рекомендуется использовать входы с одинаковыми именами в одной форме.В вашем случае, поскольку у вас есть несколько форм, это не будет проблемой.
Подробнее о $.ajax
можно прочитать здесь .