如何将表单数据链接到GET路线

时间:2018-09-23 04:04:37

标签: node.js forms express pug body-parser

我敢肯定,我会把这件事弄得一团糟,但我被困住了,别无选择,只能问问。

我有这个简单的哈巴狗形式:

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);
    });
})

基本上,这是我必须完成的爬虫项目,这是其功能的关键部分。获得请求很容易。如果直接输入search / enter_keyword,则将以JSON格式获取所有已抓取的数据。因此,该功能完全可以按需运行。

问题是,我希望表单输入以某种方式与该路线同步,并基本完成路线的:keyword部分。很抱歉,如果那不是足够的信息,或者这被认为不是做事的好方法。询问是否需要。

1 个答案:

答案 0 :(得分:1)

您可以重定向到另一条路线:

@echo off
TITLE Modifying your HOSTS file
COLOR F0

:LOOP
cls
SET "CHOICE="
ECHO Choose 1 to block a website 
ECHO Choose 2 remove a blocked website 
ECHO Choose 3 to exit
SET /P CHOICE= selection %CHOICE%
GOTO %CHOICE%

:1
cls
SET /P WEBSITE=Enter the name of the website to add:
SET HOME=     127.0.0.1 
SET NEWLINE=^& echo.
SET BLOCKEDSITE=%HOME% %WEBSITE%

FIND /C /I %BLOCKEDSITE% %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%BLOCKEDSITE%>>%WINDIR%\System32\drivers\etc\hosts
ECHO Website blocked
ping 127.0.0.1 -n 5 > nul
GOTO LOOP

:2
cls
SET /P WEBSITE=Enter the name of the website to remove:

SETLOCAL ENABLEEXTENTIONS DISABLEDELAYEDEXPANSION

SET "HOME=     127.0.0.1 "
SET "BLOCKEDSITE=%HOME% %WEBSITE%"
SET "REPLACE="
SET "HOSTSFILE=%WINDIR%\system32\drivers\etc\hosts"

FOR /F "DELIMS=" %%i IN ('TYPE "%HOSTSFILE%" ^& BREAK ^> "%HOSTSFILE%" ') 
DO 
(
    SET "LINE=%%i"
    SETLOCAL ENABLEDELAYEDEXPANSION
    >>"%HOSTSFILE%" echo(!LINE:%BLOCKEDSITE%=%REPLACE%!
    ENDLOCAL
)

ECHO Website unblocked

GOTO LOOP

:3
EXIT