重要:GET和POST请求他们都是上行请求,都是把数据从浏览器带向服务器的方式,
GET 请求实际上就是识别URL中的querystring部分
POST请求,一般用来发送大量的内容,此时node非常害怕大内容,因为如果你上传的时候传1G的内容,此时你会把进程阻塞,这时node很聪明,它会把浏览器传来的大内容分成一个个包来进行传输
GET请求:
var http = require("http");
var url = require("url");
var querystring = require("querystring"); var server = http.createServer((req,res)=>{
var query1 = url.parse(req.url).query; //产生结果是字符串,加上true,就是json var query1 = url.parse(req.url,true).query;
var obj = querystring.parse(query1); //第二种方式,效率不高。没有第一种方便
console.log(obj);
}); server.listen(,"192.168.3.55");
POST请求:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<form action="http://127.0.0.1:3800" method="post">
<p>
<input type="text" name="name" placeholder="请输入用户名" />
</p>
<p>
<input type="text" name="age" placeholder="请输入年龄" />
</p>
<p>
<input type="radio" name="sex" value="男" />男
<input type="radio" name="sex" value="女" />女
</p>
<p>
<input type="submit" value="提交" />
</p>
</form>
</body>
</html>
js:
var http = require("http");
var url = require("url"); var server = http.createServer((req,res)=>{
var result = "";
//面对post提交,node.js用监听的写法处理
req.on("data",function (chunk) {
//data 是一个事件,表示一个小包传输完毕做的事情,
console.log("小包传输完毕");
result += chunk;
});
req.on("end",function () {
//所有的包都传输完毕
console.log(result.toString());
})
}); server.listen(,"127.0.0.1");