@alex_belouss

Как сделать обработку данных без перезагрузки страницы?

Например при регистрации на сайте, заполнив данные нажимаешь на кнопку, сначала страница не перезагружается, просто на кнопке появляется анимация загрузки (как бы обработка данных), через некоторое время страница перезагружаетя.

пример
f81b301bbe744c629830cd66bbd356de.jpg
  • Вопрос задан
  • 748 просмотров
Решения вопроса 2
@Louter
Программист
Форму отправляете через AJAX:
$.ajax({
        url: 'some-url',
        type: 'post',
        dataType: 'json',
        data: $('form#myForm').serialize(),
        success: function(data) {
                   // тут перезагружаете страницу
                   // можно добавить проверку ответа 
                   // (например, если всё ок, а если нет, то выводить ошибку)
                   location.reload();
                 }
    });
Ответ написан
Комментировать
aprenoir
@aprenoir
программный архитектор
Да, тут поможет AJAX. На клиенте делаем:

$.post('/call.php', { data: data }, function(result) {
   // json
   result = JSON.parse(result);
   // actions
});


И в серверной части (например, на PHP)

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
   // vars
   $data = isset($_POST['data']) ? flt_input($_POST['data']) : NULL;
   // actions
   $result = some_function($data);
   // output
   echo json_encode($result, true);
   exit();
}


Конечно, есть более сложные и интересные способы на основе COMET-технологии (те же WebSockets), но для начала стоит освоить AJAX.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы