宝哥软件园

Nodejs的http表单提交

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

之前介绍了http模块的请求和响应过程,还介绍了TCP协议的客户端和服务器之间的数据传输,这是TCP的上层协议。这里,创建了一个简单的web服务器,并处理了提交的表单数据,这是根据伟大的书Node.js总结的

POST方法提交表单数据

之前已经总结过,向服务器提交数据需要POST方法。GET方法的请求信息在查询字符串中,没有请求体,而POST方法传输的数据在请求体中,所以需要POST方法提交表单数据。

Req是请求信息,req.url表示请求的地址。服务器运行后,req请求的URL为127.0.0.1:3000。此时,当req.url为“/”时,将返回一个表单数据字符串。在表单数据中,方法是post,动作是“/URL”,提交数据的方式是POST。提交数据的地址为127.0.0.1:3000/url,提交后会得到一个新的页面,即127.0.0.1:3000/url。此时,req.url是'/URL ',因此将显示另一个页面。

//提交表单数据var http=require(' http ');var query string=require(' query string ');var server=http . create server(function(req,res) {//req.url不同,则返回的页面也不同,如果('/'=req.url) {res.writehead (200,{ ' content-type ' : ' text/html ' });RES . write([' Form ' method=' post ' action='/URL ' ',' h1我的表单/h1 ',' fieldset ',' labelPersonal Information/label ',' pw你叫什么名字?/p ','输入类型='text' name='name ',' buttonsubmit/button ','/form' ]。join(“”);RES . end();} else if('/URL '==req . URL req . method==' POST '){ var req body=' ';req.on('data ',function(data){ reqBody=data;});Req.on('end ',function () {//用于接收数据后获取res. writehead (200,{ ' content-type ' : ' text/html ' });res.write('您已经发送了一个' req.method '请求 n ');RES . write(' pContent-type : ' req . headers[' content-type ']'/p ' ' pdata :您的名字是' querystring.parse(reqBody)。名称'/p ');RES . end();})} else { RES . write head(404);读写(“找不到”);RES . end();} }).listen(3000,function () { console.log('服务器正在侦听3000 ');});提交后需要获取请求信息的请求体,因为POST方法中的信息在请求体中,数据是通过将数据事件与req绑定来获取的。这里,应该注意的是,数据必须在接收到数据之后进行操作,也就是说,必须绑定结束事件来监控请求信息的传输是否完成。

Querystring是一个查询字符串模块,用于解析查询字符串。方法将查询字符串解析成一个对象。用git运行服务器,页面如下:

提交数据后:

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+