Express.js请求

本文概要

  • Express.js Request对象属性
  • 请求对象的方法
  • req.accepts(types)
  • req.get(field)
  • req.is(type)
  • req.param(name[,defaultValue])
【Express.js请求】Express.js请求和响应的对象是其在Express应用程序使用的回调函数的参数。
所述express.js请求对象表示该HTTP请求,并且具有属性请求查询字符串,参数,body,HTTP报头,等等。
句法:
app.get('/',function (req,res) { // -- })

Express.js Request对象属性下表指定与某些请求对象相关联的属性。
索引属性描述
1.req.app这是用于保存到使用中间件的Express应用程序的实例的引用。
2.req.baseurl它规定在其上安装一台路由器实例的URL路径。
3.req.body它包含在请求主体提交的数据的键值对。默认情况下,它是不确定的,当你用body,解析等中间件身体解析器填充。
4.req.cookies当我们使用cookie的解析器的中间件,这个属性是包含请求发送的cookie的对象。
5.req.fresh它指定该请求是“新鲜”。它是req.stale相反。
6.req.hostname它包含了从“主机” HTTP标头的主机名。
7.req.ip它指定请求的远程IP地址。
8.req.ips当信任代理设置为true,则此属性包含IP地址的数组中指定的?x-forwarded-for?请求报头。
9.req.originalurl此属性是很像req.url; 然而,它保留了原请求的URL,让你随意改写req.url内部路由的目的。
10.req.params包含属性的对象映射到指定的路线?参数?例如,如果你有路径/用户/:名,那么“名”属性可作为req.params.name。该目的默认为{}。
11.req.path它包含请求URL的路径部分。
12.req.protocol请求协议字符串“http”或“https”开头当与TLS请求。
13.req.query包含在路由每个查询字符串参数的属性的对象。
14.req.route当前匹配的路线,一个字符串。
15.req.secure布尔如果建立一个TLS连接这是真的。
16.req.signedcookies当使用cookie的解析器的中间件,此属性包含签署的请求而发送的cookie,无符号和准备使用。
17.req.stale它表明该请求是否是“陈旧”,并且是req.fresh相反。
18.req.subdomains它代表子域的所述请求的域名的数组。
19.req.xhr一个布尔值,为真,如果请求的“x-requested-with”报头字段是“XMLHttpRequest”,表明该请求是由客户端库发出如jQuery
请求对象的方法以下是一些通常使用请求对象的方法列表:
req.accepts(types)此方法用于检查指定的内容类型是否是可接受的,基于所述请求的接受HTTP标头字段。
例子:
req.accepts('html'); //=>?html? req.accepts('text/html'); // => ?text/html?

req.get(filed)此方法返回指定的HTTP请求报头字段。
例子:
req.get('Content-Type'); // => "text/plain" req.get('content-type'); // => "text/plain" req.get('Something'); // => undefined

req.is(type)此方法返回如果进入的请求的“内容类型” HTTP标头字段由类型参数指定的MIME类型匹配真。
例子:
// With Content-Type: text/html; charset=utf-8 req.is('html'); req.is('text/html'); req.is('text/*'); // => true

req.param(name[,defaultValue])此方法用于获取PARAM NAME的存在的值时。
例子:
// ?name=sasha req.param('name') // => "sasha" // POST name=sasha req.param('name') // => "sasha" // /user/sasha for /user/:name req.param('name') // => "sasha"

    推荐阅读