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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!
问题内容: 我需要构建一个GWT应用程序,该应用程序将由具有特定URL参数的外部应用程序调用。 例如: http://www.somehost.com/com.app.client.Order.html?orderId=99999。 如何在GWT应用程序中捕获orderId参数? 问题答案: 尝试, PS GWT可以调用本机javascript,这意味着如果javascript可以完成任务,那么G
问题内容: 在swift 3中建议使用带参数的GET的哪种方法? 范例: 提前致谢 ! 问题答案: 示例如何使用请求。
问题内容: 我是新手,所以我的代码可能会出现很多错误,但是我要实现的目标是将GET请求发送到带有 参数的服务器。鉴于我的函数有两个参数,我试图做到更多。我不确定如何将两者结合到实际的URLRequest中?到目前为止,这是我尝试过的 问题答案: 建立请求时,请求的主体没有,但是所有内容都放在URL上。要构建网址(并正确地将其转义), 您还可以使用. 唯一的窍门是,大多数Web服务都需要+转义字符百
问题内容: 如何在Node.js或Express.js中发出HTTP请求?我需要连接到另一个服务。我希望该调用是异步的,并且该回调包含远程服务器的响应。 问题答案: 这是我的示例中的一些代码片段。它是异步的,并返回JSON对象。它可以执行任何形式的GET请求。 请注意,还有更多的最佳方法(仅作为示例)-例如,与其将放入数组的块连接起来并进行连接等,不希望将它们串联在一起。希望,它可以使您朝正确的方
问题内容: 如何从JavaScript请求中获取“ GET”变量? 是jQuery还是YUI!内置此功能吗? 问题答案: 所有数据均在 您必须解析字符串,例如。 只需以GET变量名作为参数调用该函数,例如。 如果变量没有值或不存在,则此函数将返回变量value或undefined
使用方法 在koa中,获取GET请求数据源头是koa中request对象中的query方法或querystring方法,query返回是格式化好的参数对象,querystring返回的是请求字符串,由于ctx对request的API有直接引用的方式,所以获取GET请求数据有两个途径。 1.是从上下文中直接获取 请求对象ctx.query,返回如 { a:1, b:2 } 请求字符串 ctx.que