Express.js 请求对象基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
Express.js请求对象
Express.js请求和响应对象是Express应用程序中使用的回调函数的参数。
express .js请求对象代表HTTP请求,并具有请求查询字符串,参数,正文,HTTP标头等的属性。
语法:
app.get('/', function (req, res) { //-- })
Express.js请求对象属性
下表指定了与请求对象相关的一些属性。
属性 | 说明 |
req.app | 这用于保存对使用中间件的express应用程序实例的引用。 |
req.baseurl | 它指定安装路由器实例的URL路径。 |
req.body | 它包含在请求正文中提交的键-值数据对。默认情况下,它是未定义的,并且在使用诸如body-parser之类的主体解析中间件时填充。 |
req.cookies | 当我们使用cookie解析器中间件时,此属性是一个包含请求发送的cookie的对象。 |
req.fresh | 它指定请求为"新鲜"。这是req.stale的反义词。 |
req.hostname | 它包含"主机" http标头中的主机名。 |
req.ip | 它指定请求的远程IP地址。 |
req.ips | 当信任代理设置为true时,此属性包含在?x-forwarded-for?中指定的IP地址数组。请求标头。 |
req.originalurl | 此属性非常类似于req.url;但是,它保留了原始请求URL,允许您自由重写req.url以进行内部路由。 |
req.params | 一个对象,其中包含映射到命名路由" parameters"的属性。例如,如果您具有路由/user/: name,则" name"属性可以作为req.params.name使用。该对象默认为{}。 |
req.path | 它包含请求URL的路径部分。 |
req.protocol | 与TLS一起请求时,请求协议字符串" http"或" https"。 |
req.query | 一个对象,该对象包含路由中每个查询字符串参数的属性。 |
要求路线 | 当前匹配的路由,一个字符串。 |
req.secure | 如果建立TLS连接,则为true的布尔值。 |
req.signedcookies | 使用cookie解析器中间件时,此属性包含请求发送的已签名的cookie,未签名且可以使用。 |
要求过时 | 它指示请求是否为"过时",与req.fresh相反。 |
req.subdomains | 它表示请求域名中的子域数组。 |
req.xhr | 如果请求的" x-requested-with"标头字段为" xmlhttprequest",则为true的布尔值,指示该请求是由诸如jQuery之类的客户端库发出的。 |
请求对象方法
以下是一些常用的请求对象方法的列表:
req.accepts(类型)
此方法用于根据请求的"接受HTTP标头"字段检查指定的内容类型是否可接受。
示例:
req.accepts('html'); //=>?html? req.accepts('text/html'); // => ?text/html?
req.get(field)
此方法返回指定的HTTP请求标头字段。
示例:
req.get('Content-Type'); // => "text/plain" req.get('content-type'); // => "text/plain" req.get('Something'); // => undefined
req.is(type)
如果传入请求的" Content-Type" HTTP标头字段与type参数指定的MIME类型匹配,则此方法返回true。
示例:
// With Content-Type: text/html; charset=utf-8 req.is('html'); req.is('text/html'); req.is('text/*'); // => true
req.param(name [,defaultValue])
此方法用于在存在时获取参数名称的值。
示例:
// ?name=sasha req.param('name') // => "sasha" // POST name=sasha req.param('name') // => "sasha" // /user/sasha for /user/:name req.param('name') // => "sasha"