Express之get,pos请求参数的获取


Posted in Javascript onMay 02, 2017

Express的版本4.X

Get

query参数的获取

url假设:http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool&job[st]=web

路由的定义:

router.get('/:name', function(req, res, next) {
})

1.获取?name=zhaoqize这样的参数

req.query.name

2.获取&job[st]=web这样的参数

req.query.job.st

3.获取?name=zhaoqize参数的另外一种写法(4.x版本中该方法已被废弃)

req.param('name')

4.获取所有参数

JSON.stringify(req.query)

具体代码:

//http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool&job[st]=web
//http://localhost:3000/users/zqzjs
router.get('/:name', function(req, res, next) {
 //4.版本中已被废弃,不建议使用
 req.param('name')
 console.log(JSON.stringify(req.query) || '')
 //获取get请求参数
 var _html = "Params"+
       "<p><strong>req.params:</strong>"+(JSON.stringify(req.params) || '')+"</p>" +
       "<p><strong>req.params.name:</strong>"+(req.params.name || '')+"</p>" +
       "Query:" +
       "<p><strong>req.query:</strong>"+(JSON.stringify(req.query) || '')+"</p>" +
       "<p><strong>req.query.name:</strong>"+(req.query.name || '')+"</p>" +
       "<p><strong>req.query.word:</strong>"+(req.query.word || '')+"</p>"+
       "<p><strong>req.query.job.st:</strong>"+(req.query.job.st || '')+"</p>" +
       "<p><strong>req.param('name'):</strong>"+(req.param('name') || '')+"</p>" ;
       

 res.send(_html);
});

结果:

[Get]
Params
req.params:{"name":"zqzjs"}

req.params.name:zqzjs

Query:

req.query:{"name":"zhaoqize","word":"cool","job":{"st":"web"}}

req.query.name:zhaoqize

req.query.word:cool

req.query.job.st:web

req.param('name'):zqzjs

Post

post的数据获取

Form Data 
 pName:zqz
 pWord:job

1.获取需要的query参数

req.body.pName

具体代码:

router.post('/postTest',function(req, res, next){
  var _html = "[Post]" +
        "<p><strong>req.body:</strong>"+(JSON.stringify(req.body) || '')+"</p>" +
        "<p><strong>req.body.name:</strong>"+(req.body.pName || '')+"</p>" +
        "<p><strong>req.body.name:</strong>"+(req.body.pWord || '')+"</p>";
  res.send(_html);
})

结果:

[Post]
req.body:{"pName":"zqz","pWord":"job"}

req.body.name:zqz

req.body.name:job

其他信息

获取请求的头信息

使用:req.header(field)

//http://localhost:3000/users/requestInfo/get
router.get('/requestInfo/get',function(req, res, next){
  var _html = "";
  _html += "[Accept] "+req.header('Accept')+"<br/>"
  _html += "[Accept-Encoding] "+req.header('Accept-Encoding')+"<br/>"
  _html += "[Accept-Language] "+req.header('Accept-Language')+"<br/>"
  _html += "[Cache-Control] "+req.header('Cache-Control')+"<br/>"
  _html += "[Connection] "+req.header('Connection')+"<br/>"
  _html += "[Cookie] "+req.header('Cookie')+"<br/>"
  _html += "[Host] "+req.header('Host')+"<br/>"
  _html += "[If-None-Match] "+req.header('If-None-Match')+"<br/>"
  _html += "[Upgrade-Insecure-Requests] "+req.header('Upgrade-Insecure-Requests')+"<br/>"
  _html += "[User-Agent] "+req.header('User-Agent')+"<br/>"
  res.send(_html);
})

//结果:
[Accept] text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
[Accept-Encoding] gzip, deflate, sdch, br
[Accept-Language] zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2
[Cache-Control] max-age=0
[Connection] keep-alive
[Cookie] Hm_lvt_4f16d955a2236fc6ca7287644ecc9d79=1480576847,1481166685
[Host] localhost:3000
[If-None-Match] W/"23b-OjTNcZfCLTvw659CYGlLrA"
[Upgrade-Insecure-Requests] 1
[User-Agent] Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

route

使用:req.route

//http://localhost:3000/users/router/get
router.get('/router/get',function(req, res, next){
  res.send(req.route);
})
//结果:
{
path: "/router/get",
stack: [
{
name: "<anonymous>",
keys: [ ],
regexp: { },
method: "get"
}
],
methods: {
get: true
}
}

cookies

使用:req.cookies

//http://localhost:3000/users/cookies/get
router.get('/cookies/get',function(req, res, next){
  res.send(req.cookies);
})

//结果:
{
Hm_lvt_4f16d955a2236fc6ca7287644ecc9d79: "1480576847,1481166685"
}

hostname

使用:req.hostname

//http://localhost:3000/users/hostname/get
router.get('/hostname/get',function(req, res, next){
  res.send(req.hostname);
})

//结果:
localhost

ip

使用:req.ip

//http://localhost:3000/users/ip/get
router.get('/ip/get',function(req, res, next){
  res.send(req.ip);
})

//结果:
::1

originalUrl

使用:req.originalUrl

//http://localhost:3000/users/originalUrl/get
router.get('/originalUrl/get',function(req, res, next){
  res.send(req.originalUrl);
})

//结果:
/users/originalUrl/get

protocol

使用:req.protocol

//http://localhost:3000/users/protocol/get
router.get('/protocol/get',function(req, res, next){
  res.send(req.protocol);
})

//结果:
http

secure

使用:req.secure

说明:用来判断协议是否安全,如果是https,返回的就是true

//http://localhost:3000/users/secure/get
router.get('/secure/get',function(req, res, next){
  res.send(req.secure);
})

//结果:
false

xhr

使用:req.xhr

说明:判断是否是异步请求

//http://localhost:3000/users/xhr/get
router.get('/xhr/get',function(req, res, next){
  res.send(req.xhr);
})

//结果:
false

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
手机号码,密码正则验证
Sep 04 Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
vue短信验证性能优化如何写入localstorage中
Apr 25 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
Vue.js中的高级面试题及答案
Jan 13 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
JS代码简洁方式之函数方法详解
Jul 28 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 #Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 #Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 #Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 #Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 #Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 #Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 #Javascript
You might like
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
Python函数式编程实例详解
2020/01/17 Python
keras之权重初始化方式
2020/05/21 Python
scrapy-splash简单使用详解
2021/02/21 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
CAD制图设计师自荐信
2014/01/29 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
股东出资证明书范例
2014/10/04 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书