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

网友投稿 293 2023-05-19


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

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"+

"

req.params:"+(JSON.stringify(req.params) || '')+"

"

req.params.name:"+(req.params.name || '')+"

"Query:" +

"

req.query:"+(JSON.stringify(req.query) || '')+"

"

req.query.name:"+(req.query.name || '')+"

"

req.query.word:"+(req.query.word || '')+"

"

req.query.job.st:"+(req.query.job.st || '')+"

"

req.param('name'):"+(req.param('name') || '')+"

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]" +

"

req.body:"+(JSON.stringify(req.body) || '')+"

"

req.body.name:" +

"

req.body.name:"+(req.body.pWord || '')+"

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')+"
"

_html += "[Accept-Encoding] "+req.header('Accept-Encoding')+"
"

_html += "[Accept-Language] "+req.header('Accept-Language')+"
"

_html += "[Cache-Control] "+req.header('Cache-Control')+"
"

_html += "[Connection] "+req.header('Connection')+"
"

_html += "[Cookie] "+req.header('Cookie')+"
"

_html += "[Host] "+req.header('Host')+"
"

_html += "[If-None-Match] "+req.header('If-None-Match')+"
"

_html += "[Upgrade-Insecure-Requests] "+req.header('Upgrade-Insecure-Requests')+"
"

_html += "[User-Agent] "+req.header('User-Agent')+"
"

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.1http://; 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: "",

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java Iterator迭代器_动力节点Java学院整理
下一篇:Spring 数据库连接池(JDBC)详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~