Как перезагрузить страницу с контентом, полученным по запросу, сделанному с помощью ajax - PullRequest
0 голосов
/ 25 января 2019

У меня есть файл ejs со списком элементов из базы данных. И я пытаюсь разработать поиск, который должен обновить этот список, только с результатами поиска.

Я отправляю почтовый запрос на сервер с помощью функции ajax из jQuery.

$(".checkbox").on('click', function(){
        let email = $(this).find('input').attr('id')

        $.ajax({
            url: '/dashboard',
            method: 'post',
            data:{email:email},
            success: function(data) {
               alert('success')
            }
        });     
    })

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

                $text: {
                    $search: search
                },
            })
            .then(function (results) {
                res.render('dashboard', {
                    name: {},
                    listagemFuncionarios: results,
                    check: {}
                })
            })
            .catch(e => console.error(e));

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 25 января 2019

Проблема в том, что ajax-запрос всегда возвращает данные в форме json, вы не можете отрендерить страницу, запрашивая через ajax, вместо этого вы можете просто получить данные обратно в форме json, а затем использовать их для динамического создания html через созданные элементы DOM динамически с помощью Javascript

предположим, что вы получаете данные в случае успеха, как эта функция

[
 {
   name:'xyz',
   email:'mail@xyz.com'
 },
 {
   name:'xyz',
   email:'mail@xyz.com'
 }
]

Теперь вы можете просматривать эти данные и создавать html-элементы, дайте мне знать, если вам нужна дополнительная помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...