web开发概述(07):参数传递和获取—post参数处理

方法

/*
    post参数处理:querystring
    parse、decode:将字符串转换为对象
    stringify、encode:将对象转换为字符串
 */

const querystring = require('querystring');

let  parm = "foo=bar&abc=xyz&abc=123";
let  parm2 = "x1=123&x2=234";
//parse、decode:将字符串转换为对象
console.log(querystring.parse(parm));
console.log(querystring.decode(parm));
/*
    { foo: 'bar', abc: [ 'xyz', '123' ] }
 */
console.log(querystring.parse(parm2));
console.log(querystring.decode(parm2));
/*
    { x1: '123', x2: '234' }
 */

//stringify、encode:将对象转换为字符串
let obj = { foo: 'bar', abc: [ 'xyz', '123' ] };
console.log(querystring.stringify(obj));
console.log(querystring.encode(obj));
/*
foo=bar&abc=xyz&abc=123
 */
let obj2 = { x1: '123', x2: '234' };
console.log(querystring.stringify(obj2));
console.log(querystring.encode(obj2));
/*
x1=123&x2=234
 */

测试 服务 myserver.js

/*
    测试post
 */

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

http.createServer((req,res) =>{
    if (req.url.startsWith('/login')){
        let pdata = '';
        req.on('data', (chunk) => {
                pdata += chunk;
            }
        );

        req.on('end', () => {
            console.log(pdata);
            let obj = querystring.decode(pdata);
            res.end("username:" + obj.username + " password:" + obj.password);
        });
    }

}).listen(3000,() => {
    console.log("服务已启动v༼ つ ◕_◕ ༽つ");
});

测试 调用 test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://localhost:3000/login" method="post">
        姓名:<input type="text" name="username">
        密码:<input type="password" name="password">
        <input type="submit" >
    </form>
</body>
</html>
posted @ 2020-10-14 10:58  mrtransition  阅读(151)  评论(0)    收藏  举报