Nodejs之http的表单提交
发布时间 - 2026-01-11 02:14:00 点击率:次之前介绍了http模块的请求与响应的过程,也介绍了TCP协议的客户端与服务端的数据传输,http协议是TCP上层协议。这里创建了一个简单的web服务器,并对提交表单数据进行处理,根据了不起的Node.js一书总结。

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',故显示的另一个页面。
//提交表单数据
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');
});
提交之后,需要获取请求信息的请求体,因为POST方法中信息都在请求体中,用req绑定data事件获取数据,这里需要注意的是必须得在数据接收完成后再对数据进行操作,即必须绑定end事件监听请求信息是否传输完成。
querystring是查询字符串模块,用于对查询字符串的解析,parse方法将查询字符串解析成一个对象。在git中运行服务器,得到页面是这样的:
提交数据后:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Nodejs
# http
# 表单
# JSP之表单提交get和post的区别详解及实例
# 基于JavaScript实现带数据验证和复选框的表单提交
# JavaScript阻止表单提交方法(附代码)
# 使用AngularJS对表单提交内容进行验证的操作方法
# JS表单提交中onsubmit事件return的作用详解
# 都在
# 的是
# 绑定
# 完成后
# 是这样
# 并对
# 一书
# 需要注意
# 要使
# 服务端
# 大家多多
# 时需
# 再对
# 客户端
# var
# require
# brush
# action
# post
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 require机制详解及实例代码
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
如何用西部建站助手快速创建专业网站?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
如何用搬瓦工VPS快速搭建个人网站?
nginx修改上传文件大小限制的方法
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
如何用狗爹虚拟主机快速搭建网站?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
用yum安装MySQLdb模块的步骤方法
如何快速生成可下载的建站源码工具?
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel如何实现API速率限制?(Rate Limiting教程)
如何有效防御Web建站篡改攻击?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
装修招标网站设计制作流程,装修招标流程?
高端网站建设与定制开发一站式解决方案 中企动力
青岛网站建设如何选择本地服务器?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
教学论文网站制作软件有哪些,写论文用什么软件
?
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel Fortify是什么,和Jetstream有什么关系
如何用景安虚拟主机手机版绑定域名建站?
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
香港服务器网站推广:SEO优化与外贸独立站搭建策略
高防服务器租用指南:配置选择与快速部署攻略
Python结构化数据采集_字段抽取解析【教程】
jQuery 常见小例汇总
Laravel如何实现多对多模型关联?(Eloquent教程)
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Python进程池调度策略_任务分发说明【指导】
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何用已有域名快速搭建网站?
如何撰写建站申请书?关键要点有哪些?
香港服务器选型指南:免备案配置与高效建站方案解析

