Как отправить данные обратно в браузер с сервера?

У меня есть форма на веб-странице, которая запрашивает имя пользователя, пароль, возраст и пол клиента. Я отправляю его на сервер nodejs (экспресс-фреймворк), когда пользователь нажимает кнопку отправки. Я хочу запросить его в базе данных, чтобы проверить, существуют ли имя пользователя и пароль, и если они существуют, могу ли я отправить сообщение обратно в браузер о том, что пароль или имя пользователя уже существует, и каким-то образом поймать это сообщение с помощью javascript и использовать его для изменения страницу (чтобы отобразить сообщение о том, что имя пользователя или пароль уже существуют) без использования механизма шаблонов, такого как jade или ejs?


person Rockstar22    schedule 31.07.2015    source источник
comment
Обычно для этого используется запрос AJAX.   -  person glend    schedule 31.07.2015


Ответы (1)


Вы можете реализовать метод Rest post, чтобы опубликовать свои данные, например. Код сервера:

router.post('/create-user', function (req, res) {
  var user = req.body;
  usersService.createUser(user).then(function (status) {
    res.json(status);
  });
});

и в вашем клиентском коде js вам нужно иметь метод успеха для проверки статуса. Вы можете использовать метод jQuery post.

$.post( "api/create-user", formData , function( result) {
   $( ".result" ).html( result );
});
person Andzej Maciusovic    schedule 31.07.2015
comment
Я не хочу, чтобы вся страница перезагружалась, я просто хочу, чтобы сервер отправлял данные обратно в браузер клиента, а весь рендеринг страницы выполнялся на стороне клиента. - person Rockstar22; 31.07.2015
comment
В моем примере вы не будете перезагружать всю страницу. expressJs res.json только отправляет результат обратно, но не перезагружает вашу страницу - person Andzej Maciusovic; 31.07.2015