Nodejs之http的表单提交

2022-06-19    分类: 网站建设

POST方法提交表单数据

向服务器提交数据需要使用POST方法,GET方法的请求信息都在查询字符串中,没有请求体,而POST方法的传输的数据都在请求体中,故提交表单数据时需要使用POST方法。

req是请求信息,req.url表示请求的地址,当服务器运行之后,req请求的网址为127.0.0.1:3000,此时req.url为‘/',则返回的是一串表单数据,在表单数据中设置了method是post,action是‘/url',表面提交数据的方式是POST,将数据提交的地址为127.0.0.1:3000/url,而提交之后要获取新的页面即127.0.0.1:3000/url,此时req.url为‘/url',故显示的另一个页面。

<script>

//提交表单数据
var http=require('http');
var querystring=require('querystring');

var server=http.createServer(function (req,res) {
//req.url不同则返回的页面不同
if('/'==req.url){
 res.writeHead(200,{'Content-Type':'text/html'});
 res.write([
 '<form method="post" action="/url">',
 '<h1>My Form</h1>',
 '<fieldset>',
 '<label>Personal Information</label>',
 '<p>What is your name?</p>',
 '<input type="text" name="name">',
 '<button>submit</button>',
 '</form>'
 ].join(''));
 res.end();
}else if('/url'==req.url&&req.method=='POST'){
 var reqBody='';
 req.on('data',function (data) {
 reqBody += data;
 });
 req.on('end',function () {//用于数据接收完成后再获取
 res.writeHead(200,{'Content-Type':'text/html'});
 res.write('you have sent a '+req.method+' request\n');
 res.write('<p>Content-Type:'+req.headers['content-type']+'</p>'
+'<p>Data:your name is '+querystring.parse(reqBody).name+'</p>');
 res.end();
 })
}else{
 res.writeHead(404);
 res.write('Not Found');
 res.end();
}
}).listen(3000,function () {
console.log('server is listening 3000');
});
</script/>

提交之后,需要获取请求信息的请求体,因为POST方法中信息都在请求体中,用req绑定data事件获取数据,这里需要注意的是必须得在数据接收完成后再对数据进行操作,即必须绑定end事件监听请求信息是否传输完成。

querystring是查询字符串模块,用于对查询字符串的解析,parse方法将查询字符串解析成一个对象。

运行结果:

提交数据后:


文章题目:Nodejs之http的表单提交
转载来于:/news20/169270.html

成都网站建设公司_创新互联,为您提供Google静态网站微信公众号域名注册网站排名小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计