Этот код работал
$(document).ready(function () {
$("#ajax_form").submit(
function () {
sendAjaxForm('result_form', 'ajax_form', 'create-article.php');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
jQuery.ajax({
url: url, //url страницы (php/obr.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: jQuery("#" + ajax_form).serializeArray(), // Сериализуем объект
success: function (response) { //Данные отправлены успешно
result = JSON.parse(response);
document.getElementById(result_form).innerHTML = result;
console.log(response);
},
error: function (response) { // Данные не отправлены
document.getElementById(result_form).innerHTML = "Ошибка. Данные не отправлены.";
}
});
}
А этот работает, но не полностью, не возвращает ответ, обработчик тот же. Т.е. когда я добавляю загрузку файла ответ от сервера не приходит.
$(document).ready(function () {
$("#ajax_form").submit(
function (event) {
event.preventDefault();
let form = $('#' + $(this).attr('id'))[0];
let fd = new FormData(form);
jQuery.ajax({
url: "create-article.php", //Адрес страницы
type: "POST", //Метод отправки
data: fd,
processData: false,
contentType: false,
success: function (response) { //Успешно
result = JSON.parse(response);
document.getElementById(result_form).innerHTML = result;
},
error: function (response) { //Ошибка
document.getElementById(result_form).innerHTML = "Ошибка";
}
});
}
);
});