当前位置: 首页 > 知识库问答 >
问题:

如何修复此Node.js登录页面?

乐正涵意
2023-03-14
I'm breaking my head with a Node js with mysql database and trying to make a simple login.

I am getting :Cannot POST /login

<body class="hero-image">

<div id="container">
    <div id="tabs">

       <p id="lt" class="tabs">Log in</p>
        <p id="rt" class="tabs" onclick="location.href = './register';">Register</p>

        <div id="clear"></div>
    </div>
    <div id="cont">
        <div id="loginBox" class="comm">
            <h3>Sign in</h3>
            <form action="login" method="POST">
                <input id="username" type="text" autocomplete="off" name="username" placeholder="Username" required>
                <input id="password" type="password" autocomplete="off" name="password" placeholder="Password" required>
                <input type="submit" value="Submit Form">
            </form>
        </div>
    </div>
</div>
<script>
        const form = document.getElementById('login')
        form.addEventListener('submit', login)

        async function login(event) {
            alert('Success')
            event.preventDefault()
            const username = document.getElementById('username').value
            const password = document.getElementById('password').value
            
            
            
            const result = await fetch('/api/login', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({
                    username,
                    password
                })
            }).then((res) => res.json())

            if (result.status === 'ok') {
                // everythign went fine
                console.log('Got the token: ', result.data)
                localStorage.setItem('token', result.data)
                alert('Success')
            } else {
                if (result.status === 'Not Found') {
                    alert("Incorrect Username and/or Password!");
                }
                else {
                    alert("Please enter Username and Password!");
                }
            }
        }
    </script>

共有2个答案

东方修谨
2023-03-14

您可以执行更改@Rafael Nicola 所指出的正确表单操作的方法,也可以简单地将 app.post 更改为 /login,因为您正在本地主机上工作

万俟修诚
2023-03-14

好吧,兄弟!

我试图努力解密后端代码,但现在您正在发布到“/api/login”,并且您的 html 表单操作针对“登录”。

要正确调用post方法,请将html更改为以下操作:

 <form action="/api/login" method="POST">

因此,它与您尝试执行的正确调用相匹配,即:

app.post("/api/login", async(req, res) => {...});
 类似资料:
  • 我试图做Java本地接口,这是使用gcc编译c文件和Java代码是 如何修复输出NaN

  • 我正在使用Larave Jetstream livewire,我想修改登录名。 从初始值为1的隐藏输入字段“is_admin”登录 当用户提交登录表单后端检查时,使用数据库表字段的is\u admin=1 表结构:名称、电子邮件、密码、is_admin is_admin=0或1 我想检查is_admin标志,如果提供的凭据与电子邮件、密码和is_admin=1匹配,则只有用户可以登录。

  • 我正在编程一个需要Hibernate技术的项目。我得到了堆栈痕迹,但我不知道如何修复它。有什么需要帮忙的吗? 这是我的堆栈跟踪,我得到了这两个错误: SLF4J:slf4j-api 1.6.x(或更高版本)与此绑定不兼容。SLF4J:您的绑定是1.5.5或更早版本。SLF4J:将绑定升级到1.6.x版本。或2.0.x 导入org.hibernate.hibernateException;导入org

  • 问题内容: 我有一个login.html网页,允许用户输入用户名和密码。当他单击“提交”时,我将使用Javascript收集输入的值,然后对php文件进行Ajax POST调用,然后发送用户名和密码。 我在这里担心的是,这是发送用户名和密码的安全方法吗?如果不是,我如何确保从后端将数据从html文件发送到php的交易的安全性? php文件然后连接到MySql Db并检查用户是否退出以及密码是否正确

  • 本文向大家介绍CentOS7如何修改SSH登录端口,包括了CentOS7如何修改SSH登录端口的使用技巧和注意事项,需要的朋友参考一下 centos7修改ssh默认登录端口和centos6差不多,就是防火墙不一样,然后关闭selinux最好。 【修改ssh默认22端口】 在Port 22下面加一行,以端口50000为例,Port 50000 然后保存,重启ssh服务systemctl restar

  • IECapabilities.SetCapability(InternetExplorerDriver.Introduce_Flakiness_By_Ignoling_Security_Domains,true); //WebDriver driver=new InternetExplorerDriver(ieCapabilities); driver.findElement(by.id(“use