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>

浙公网安备 33010602011771号