求助,form表单重复提交

BUCIK 2024-06-07 21:48:44

<html>

     <head>

        <title>

         </title>

     </head>

     <body>

         <form method="post" action="http://localhost:8080">

         <input  type="text" name="userName">

         <input  type="text" name="userPwd">

        <button type="submit">注册</button>

        </form>

    </body>

 

 

 

 

JS

const http = require("http");

const url = require("url");

const querystring = require("querystring");

const mysql = require("mysql");

 

let postVal = "";

 

const server = http.createServer((req, resp) => {

  resp.writeHead(200, { "content-Type": "text/html;charset=Utf8" });

  req.on("data", (chunk) => {

    postVal += chunk;

  });

  req.on("end", () => {

    let formVal = querystring.parse(postVal);

    const userName = formVal.userName;

    const userPwd = formVal.userPwd;

    console.log(userName, userPwd);

 

    registerUser(userName, userPwd, resp);

  });

});

 

function registerUser(userName, userPwd, resp) {

  const conn = mysql.createConnection({

    host: "localhost",

    user: "root",

    password: "123456",

    database: "test",

    port: 3306,

  });

 

  conn.connect();

  conn.query("insert into test value(?,?)", [userName, userPwd], (err, results) => {

    if (err) throw err;

    resp.write("注册成功");

    resp.end();

    conn.end();

  });

}

 

server.listen(8080);

 

 

 

设计注册页面,提交时会重复提交两次数据

...全文
780 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

postVal作用域问题,可以存放在http.createServer((req, resp) => {})函数内试试

软脚虾 2024-12-06
  • 打赏
  • 举报
回复

我可以解决

汤…… 2024-12-05
  • 打赏
  • 举报
回复

可以debug看一下一次提交结束后 再一次请求的触发事件是什么

太空漫步11 2024-06-08
  • 打赏
  • 举报
回复 1

你缺少了判断用户是否已经注册的步骤。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧