Node.JS and express

问题描述 投票:0回答:1

我的POST功能有问题。当我按下登录按钮时,出现以下消息:

无法发布/登录

我不知道该怎么办。我希望你们中的一个可以帮助我\(^-^ \)

这是我的代码:

    const express = require('express')
    const app = express()
    const { check } = require('express-validator')
    const http = require('http')
    const port = 3000

    app.use(express.static('./public', {index: 'login.html'}))
    app.use(express.urlencoded());

    // Routing
    let loginRouter = express.Router()

    app.use('/login', loginRouter)

    loginRouter.all('/login', function (req, res) {
        console.log('POST')
        console.log(req.body)
        console.log('GET')
        console.log(req.query)
    })
    app.listen(port, function() {
        console.log('listen on http://localhost:' + port)
    })
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Login 1</title>
        <link rel="stylesheet" href="login.css">
    </head>
    <body>
        <form method="post" action="/login">
            <div>
                <label for="user">Username:</label>
                <input type="text" id="user" />
            </div>
            <div>
                <label for="userpw">Password:</label>
                <input type="password" id="userpw" />
            </div>
            <div>
                <button type="submit">Log in</button>
            </div>
        </form>
    </body>
</html>

提前感谢^^

javascript html node.js express post
1个回答
2
投票

您使用以下方法在路径loginRouter中将/login注册为中间件:

app.use('/login', loginRouter)

这意味着您在路由器中侦听的任何路径都将成为/login的子路径。

因此,您的实际链接将变为/login/login

您可能想要删除上述中间件并重试。

© www.soinside.com 2019 - 2024. All rights reserved.