Skip to content

Instantly share code, notes, and snippets.

@Pum-purum
Last active November 7, 2017 12:25
Show Gist options
  • Save Pum-purum/90a9506e8e07918701ab3c4879dcad4a to your computer and use it in GitHub Desktop.
Save Pum-purum/90a9506e8e07918701ab3c4879dcad4a to your computer and use it in GitHub Desktop.
Подробный AJAX-запрос
var data = form.serialize(); // подготавливаем данные
$.ajax({ // инициализируем ajax запрос
type: 'POST', // отправляем в POST формате, можно GET
url: 'files/do-email.php', // путь до обработчика, у нас он лежит в той же папке
dataType: 'json', // ответ ждем в json формате
data: data, // данные для отправки
beforeSend: function(data) { // событие до отправки
form.find('button[type="submit"]').attr('disabled', 'disabled'); // например, отключим кнопку, чтобы не жали по 100 раз
},
success: function(data){ // событие после удачного обращения к серверу и получения ответа
if (data['error']) { // если обработчик вернул ошибку
alert(data['error']); // покажем её текст
} else { // если все прошло ок
form.html('Заявка отправлена!<br /> Ожидайте звонка нашего специалиста.'); // пишем что все ок
setTimeout(function(){
$('div.form').slideUp();
}, 3000);
}
},
error: function (xhr, ajaxOptions, thrownError) { // в случае неудачного завершения запроса к серверу
console.log(xhr.status); // покажем ответ сервера
console.log(thrownError); // и текст ошибки
},
complete: function(data) { // событие после любого исхода
form.find('button[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment