перерисовать мопс с экспрессом

1

В основном то, чего я хочу достичь, является списком с возможностью поиска/фильтрации

пока я могу получить некоторые данные из базы данных и выразить с помощью pug, сделав мне страницу, показывающую результаты в списке.

Теперь я хочу добавить функциональность фильтрации отображаемого списка. Поэтому в каждом событии keyup в текстовом поле я делаю запрос на отправку AJAX на сервер, отправляющий строку запроса из текстового поля. Пока все работает нормально, но когда я пытаюсь "перерисовать" страницу с фильтрованным набором результатов, в браузере ничего не происходит.

Мои маршруты выглядят так:

var rechnungen;

router.get('/', function(req, res) {

    connection.query('SELECT * FROM rechnungen ', function(err, result) {
    rechnugen = result;
    res.render('rechnungen', {rechnungen: result});

});

router.post('/:query', function(req, res) {
    console.log("received ajax request");
    console.log("with query " + req.params.query);
    res.render('rechnungen', {rechnungen: {}});
});

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

Невозможно ли "повторно отобразить" представление или есть ли какая-либо другая концептуальная ошибка, которую я делаю?

Спасибо за вашу помощь

Теги:
express
pug

1 ответ

0
Лучший ответ

Вызов AJAX POST не является традиционным HTTP-вызовом.

Полученная страница, отправленная с сервера, войдет в объект ответа обработчика успеха вашего вызова AJAX.

Таким образом, либо

  • замените весь HTML на HTML-ответ или
  • сделать традиционную HTTP-форму POST, в этом случае браузер по умолчанию предоставляет ответ сервера.
  • 0
    Спасибо, это объясняет мою проблему

Ещё вопросы

Сообщество Overcoder
Наверх
Меню