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

时间:2021-05-28

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/zqzjsrouter.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]Paramsreq.params:{"name":"zqzjs"}req.params.name:zqzjsQuery:req.query:{"name":"zhaoqize","word":"cool","job":{"st":"web"}}req.query.name:zhaoqizereq.query.word:coolreq.query.job.st:webreq.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:zqzreq.body.name:job

其他信息

获取请求的头信息

使用:req.header(field)

//http://localhost:3000/users/requestInfo/getrouter.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/getrouter.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/getrouter.get('/cookies/get',function(req, res, next){ res.send(req.cookies);})//结果:{Hm_lvt_4f16d955a2236fc6ca7287644ecc9d79: "1480576847,1481166685"}

hostname

使用:req.hostname

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

ip

使用:req.ip

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

originalUrl

使用:req.originalUrl

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

protocol

使用:req.protocol

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

secure

使用:req.secure

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

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

xhr

使用:req.xhr

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

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章