推荐答案
在 Express 中,res 对象是 HTTP 响应的表示,它包含了许多常用的属性和方法,用于控制响应的行为和内容。以下是一些常用的属性和方法:
常用属性
res.statusCode: 设置或获取响应的 HTTP 状态码。res.headersSent: 只读属性,表示响应头是否已经发送。res.locals: 一个对象,用于存储局部变量,这些变量可以在视图渲染时使用。
常用方法
res.status(code): 设置响应的 HTTP 状态码。res.send(body): 发送 HTTP 响应,body可以是字符串、Buffer、对象或数组。res.json(body): 发送 JSON 格式的响应。res.sendStatus(statusCode): 设置响应状态码并发送对应的状态消息。res.redirect([status,] path): 重定向请求到指定的路径,可选状态码。res.render(view [, locals] [, callback]): 渲染视图模板并发送 HTML 响应。res.set(field [, value]): 设置响应头字段。res.get(field): 获取响应头字段的值。res.cookie(name, value [, options]): 设置 cookie。res.clearCookie(name [, options]): 清除指定的 cookie。res.end([data] [, encoding]): 结束响应过程,可选发送数据。res.type(type): 设置响应的 Content-Type。
本题详细解读
res 对象是 Express 框架中用于处理 HTTP 响应的核心对象之一。它提供了丰富的属性和方法,使得开发者能够灵活地控制响应的各个方面。
res.statusCode
res.statusCode 属性用于设置或获取响应的 HTTP 状态码。例如,res.statusCode = 404 会将响应的状态码设置为 404。
res.headersSent
res.headersSent 是一个只读属性,用于检查响应头是否已经发送。如果响应头已经发送,则无法再修改响应头。
res.locals
res.locals 是一个对象,用于存储局部变量。这些变量可以在视图渲染时使用,通常用于传递数据到模板引擎。
res.status(code)
res.status(code) 方法用于设置响应的 HTTP 状态码。例如,res.status(200).send('OK') 会将状态码设置为 200 并发送 "OK" 作为响应体。
res.send(body)
res.send(body) 方法用于发送 HTTP 响应。body 可以是字符串、Buffer、对象或数组。Express 会根据 body 的类型自动设置合适的 Content-Type。
res.json(body)
res.json(body) 方法用于发送 JSON 格式的响应。它会自动将 body 转换为 JSON 字符串,并设置 Content-Type 为 application/json。
res.sendStatus(statusCode)
res.sendStatus(statusCode) 方法用于设置响应状态码并发送对应的状态消息。例如,res.sendStatus(404) 会发送状态码 404 和 "Not Found" 消息。
res.redirect([status,] path)
res.redirect([status,] path) 方法用于重定向请求到指定的路径。可选的状态码默认为 302。例如,res.redirect('/new-path') 会将请求重定向到 /new-path。
res.render(view [, locals] [, callback])
res.render(view [, locals] [, callback]) 方法用于渲染视图模板并发送 HTML 响应。view 是模板文件的路径,locals 是传递给模板的数据。
res.set(field [, value])
res.set(field [, value]) 方法用于设置响应头字段。例如,res.set('Content-Type', 'text/plain') 会设置 Content-Type 为 text/plain。
res.get(field)
res.get(field) 方法用于获取响应头字段的值。例如,res.get('Content-Type') 会返回当前响应的 Content-Type。
res.cookie(name, value [, options])
res.cookie(name, value [, options]) 方法用于设置 cookie。name 是 cookie 的名称,value 是 cookie 的值,options 是可选参数,用于设置 cookie 的属性。
res.clearCookie(name [, options])
res.clearCookie(name [, options]) 方法用于清除指定的 cookie。name 是要清除的 cookie 的名称,options 是可选参数,用于指定 cookie 的属性。
res.end([data] [, encoding])
res.end([data] [, encoding]) 方法用于结束响应过程。可选的数据和编码参数可以用于发送最后的响应数据。
res.type(type)
res.type(type) 方法用于设置响应的 Content-Type。例如,res.type('json') 会将 Content-Type 设置为 application/json。
这些属性和方法使得 res 对象成为 Express 中处理 HTTP 响应的强大工具,开发者可以根据需要灵活使用它们来控制响应的行为和内容。