一、创建一个本地服务器
- 如下所创建的服务器
const http = require('http');
const querystring = require('querystring');
var server = http.createServer((req, res) => {
var i = 0;
var str = '';
// 分段接收POST发送过来的数据
req.on('data', (data) => {
str += data;
console.log(`第${i++}次接收数据`)
})
// 在接收完所有数据之后会进行这步操作
req.on('end', () => {
let obj = querystring.parse(str);
console.log(obj)
res.end();
})
})
server.listen(8080)
- 服务器接收客户端post传送过来的数据,分段式接收,把这些接收到的分段式数据进行拼接,等到所有数据都接收到了,再进行【querystring.parse】把数据解析成一个对象
// 分段接收POST发送过来的数据
req.on('data', (data) => {
str += data;
console.log(`第${i++}次接收数据`)
})
// 在接收完所有数据之后会进行这步操作
req.on('end', () => {
let obj = querystring.parse(str);
console.log(obj)
res.end();
})
二、创建一个index.html
- 1.【index.html】里面一个表单【post】方式进行提交。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>post数据提交</title>
</head>
<body>
<!-- action需要写入完整,不要少了端口8080 -->
<form action="http://localhost:8080/aaa" method="post">
姓名:<input type="text" name="user"> </br>
密码:<input type="password" name="pass"> </br>
<textarea value="" id="" cols="30" rows="10" name="text"></textarea>
<input type="submit" value="提交">
</form>
</body>
</html>
三、表单进行提交
-
启动服务器【node sever.js】后,现在进行表单提交
image.png
-
-
当post传送的数据大小不大时,接收一次就把所有数据接收到了。
image.png
-
-
当大量数据通过【post】方式传送到服务器,会通过分段式接收数据,这里例子经过了33次才接收到所有数据
image.png
-
网友评论