@aleshaykovlev
html, css, js, node, webpack, sass, react

Как отправить данные JSON на клиент?

HTML:
<form className="header__search-form" onSubmit={() => search()} action="/search" method="POST">
                        <span>Поиск</span>
                        <input type="text" className="header-search-input" name="q" />
                    </form>


Функция search:
async function search() {
        const {data} = await axios.post('/search');
                  
        setProducts(data);
    }


Рендер на сервере:
router.post('/', (req, res) => {
    product.find(async(err, data) => {
        if (err) res.status(400).send(err);
        else {
            if (req.body.q) {
                const newData = await data.filter(item => item.name.toLowerCase().search(req.body.q.trim().toLowerCase()) !== -1);
    
                res.status(200).send(newData);
            }
        }
    })
})


Выводится newData (JSON)

Как получить эти данные и отправить их на клиент?
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PAVLIK_GYRA
router.post('/', (req, res) => {
{query} = req.body
    product.find(async(err, data) => {
        if (err) res.status(400).send(err);
        else {
            if (query) {
                const newData = await data.filter(item => item.name.toLowerCase().search(query.trim().toLowerCase()) !== -1);
    
                res.json(newData);
            }
        }
    })
})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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