Как связать данные формы с GET-маршрутом - PullRequest
0 голосов
/ 23 сентября 2018

Я почти уверен, что по-королевски все испортил, но я застрял, и у меня нет выбора, кроме как спросить.

У меня есть такая простая форма мопса:

form(id="searchForm", action="/search" method="POST")
        input(type="text" name="keyword")
        input(value='Submit', type='submit')

Форма ввода не проблема.Внизу это делается.

app.post('/search, (req, res) => {
    var keyword = req.body.keyword
    console.log(keyword) // returns user input
})

Но это то, где я борюсь.Я просто хочу взять данные формы и вставить их в :keyword.Естественно, я также хочу, чтобы эта страница отображалась при нажатии кнопки Отправить.

app.get('/search/:keyword', (req, res) => {
    scraper
        .searchDictionary(req.params.keyword)
        .then(words => {
        res.json(words);
    });
})

По сути, это проект на гусеничном ходу, который я должен завершить, и это важная часть его функциональности.Этот запрос get работает достаточно легко.Если я непосредственно наберу search / enter_keyword, я получаю все очищенные данные в формате JSON.Итак, эта функциональность работает именно так, как нужно.

Проблема в том, что я хочу, чтобы ввод формы каким-то образом синхронизировался с этим маршрутом и в основном выполнял эту часть :keyword моего маршрута.Извините, если информации недостаточно, или это считается плохим способом сделать что-то.Задавайте вопросы, если это необходимо.

1 Ответ

0 голосов
/ 23 сентября 2018

Вы можете перенаправить на другой маршрут:

app.post('/search, (req, res) => {
    var keyword = req.body.keyword;
    res.redirect('/search/' + keyword);
})
...