HTML отправка формы (POST req) на сервер должна возвращать динамику c HTML - PullRequest
0 голосов
/ 16 января 2020

Как мне заставить серверную часть (в NodeJS и Express) вернуть новую страницу HTML после получения запроса на публикацию?

  • Допустим, на странице HTML есть несколько полей, каждое из которых необходимо проверить (что можно сделать с помощью Javascript) на самой странице HTML.
  • Но после отправки формы на стороне сервера выполняется сложный расчет (скажем, на его заполнение уйдет 5 секунд, а может и больше).
  • И затем серверная сторона возвращает новую страницу HTML, которая выделяет результаты всех полей ввода отдельно.
  • Я не могу использовать возвращаемую страницу состояния c HTML, поскольку результатов может быть много, и я хочу, чтобы страница HTML (отправленная сервером) динамически корректировалась на основе расчета сделано сервером.

q1. Как я могу создать эту динамическую c HTML страницу на стороне сервера?

q2. Как мне показать экран загрузки, когда сервер выполняет вычисления?

Исправьте меня, если я ошибаюсь

a1. Я полагаю, что могу создать какой-нибудь шаблон stati c HTML с EJS / JADE / PUG / HANDLEBARS, а затем передать результат вычислений и позволить JS Script (в HTML) обрабатывать его отображение.

a2. У меня сейчас нет представления об этом.

1 Ответ

1 голос
/ 17 января 2020

Вы можете сделать ajax вызов на ваш сервер и вернуть данные об успехах / ошибках / вычисления в json формате

Затем используйте этот json для добавления динамического c html контента на Ваша страница с использованием клиентской стороны javascript

$.ajax({
    url: '/admin/login',
    method: 'POST',
    data: {'key':'value'},
    beforeSend: function(){
      // show loader
    },
    success: function(response) {
       // hide loader
       // add dynamic html to dom from here
    });

Надеюсь, это поможет

...