nodejs---POST数据解析与分段提交

POST数据比GET数据大得多,POST数据采用分段提交方式。

req.on('data', function (data) {})-----data一段数据到达

req.on('end', function () {})------end数据全部到达

写一个前端页面,有用户、密码和textarea文本框,textarea文本框中内容较多,用来模拟POST分段请求,form.html代码如下:

<!DOCTYPE html>
<html>

<head>
	<title>用户登录</title>
</head>

<body>
	<form action="http://localhost:8080/aaa" method="POST">
		用户:<input type="text" name="user"><br>
		密码:<input type="password" name="password"><br>
		<textarea name="content" id="" cols="30" rows="10"></textarea>
		<input type="submit" value="提交">
	</form>
</body>

</html>

通过"querystring"模块解析post数据,var POST = querystring.parse(str);

server.js完整代码如下:

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

http.createServer(function (req, res) {
	var str = '';//用来接收数据
	var i = 0;

	//data---有一段数据到达(很多次)
	req.on('data', function (data) {
		console.log('第' + i++ + '次接收到数据');
		str += data;
	});

	//end---数据全部到达(一次)
	req.on('end', function () {
		var POST = querystring.parse(str);
		console.log(POST);
		res.write('this is aaa page');
		res.end();
	});
}).listen(8080); 

运行结果如下:

由于textarea文本框中输入的内容较多,全部数据分10次接收完毕,(0--9次)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值