服务器接受表单提交的内容,解析get和post请求
<form action="http://localhost:8080" method="get">
<!--<form action="http://localhost:8080/index.html" method="post">-->
<label>
<input type="text" name="name">
</label><br>
<!-- <input type="file" name="img"><br>-->
<label>
<input type="password" name="password">
</label><br><br>
<label>
<textarea name="text"></textarea>
</label><br>
<input type="submit" value="submit">
</form>
get
const http = require('http');
const url_hb = require('url');
let serve = http.createServer(function (request,response) {
let obj = url_hb.parse(request.url,true);
console.log(obj.pathname,obj.query);
response.write('ok');
response.end();
});
serve.listen(8080);
post
const http = require('http');
const url_hb = require('url');
/*post请求一般用于较大的文件的上传,所以有了
data事件,事件的执行次数由上传文件的大小决定,每次执行时上传文件的一部分,
end事件,只执行一次,在数据接受完成时触发
* */
let server = http.createServer(function (req,res) {
let str = '';//接收传来的数据
let i = 0;
req.on('data',function (data) {
str += data;//每次获取的数据放到str中,目前只是字符串
i++;
});
req.on('end',function () {
console.log(str);
console.log(i);//查看分了几次传输
})
});
server.listen(8080);
将get和post以及文件请求配合使用
const http = require('http');
const fs = require('fs');
const url_hb = require('url');
const queryString = require('querystring');
//get
let server = http.createServer(function (req,res) {
//get
let obj = url_hb.parse(req.url,true);
var url = obj.pathname;
const GET = obj.query;
//post
var str = '';
req.on('data',function (data) {
str += data;
});
req.on('end',function () {
var POST = queryString.decode(str);
/*
* 到这已经获取
* url - 要请求的信息
* GET - get请求
* POST- post请求
* */
console.log(url,GET,POST,);
});
//readFile
let filename = 'hongbinFile'+url;
fs.readFile(filename,function (err,data) {
if (err){
res.write('404');
}else{
res.write(data);
}
res.end();
});
});
server.listen(8080);
版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有