网页前端后台技巧(CSS+HTML)Web互联网科技

【Node.js】表单post

2019-06-22  本文已影响0人  德育处主任
微信订阅号:Rabbit_svip

postget 最大的区别是 post 不在url里传值。

所以后台处理 post 传过来的值,需要用另一种方法。

post 是通过事件的方式来接收客户端发过来的请求。

post 有两个事件是比较常用的。

前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form method="post" action="http://localhost:8100">
        <input type="text" name="userName">
        <input type="password" name="userPwd">
        <input type="submit" value="登录">
    </form>
</body>
</html>

前端代码和 get 那个例子差不多,只是把 get 改成 post

后端代码

const http = require('http');

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

    let postVal = "";

    // chunk 代表每次接收到的数据
    req.on("data", (chunk) => {
        postVal += chunk;
    })

    req.on("end", () => {
        console.log(postVal);
        res.end();
    })

})

server.listen(8100);

在浏览器输入 admin 和 123123

后端得到以下数据


微信订阅号:Rabbit_svip

是字符串格式的。

如果需要转成json格式,可以通过 querystring 这个系统提供的模块。

querystring模块

const http = require('http');
const querystring = require('querystring');

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

    let postVal = "";

    // chunk 代表每次接收到的数据
    req.on("data", (chunk) => {
        postVal += chunk;
    })

    req.on("end", () => {
        console.log( querystring.parse(postVal) );
        res.end();
    })

})

server.listen(8100);

最后在浏览器重新提交以下。
后台得到的结果:


微信订阅号:Rabbit_svip
上一篇 下一篇

猜你喜欢

热点阅读