[Express-04] Response对象

这篇博客详细介绍了Express中Response对象的使用,包括设置标头、设置状态、发送响应、发送JSON和JSONP响应、发送文件、触发下载响应以及重定向响应。通过具体的代码示例展示了每个方法的功能和用法。
摘要由CSDN通过智能技术生成

这里写图片描述

传递给路由处理程序的Response对象提供了必要的功能来建立和发送适当的HTTP响应。

1、设置标头

设置标头对于定制适当的HTTP响应尤其重要。比如:设置Content-Type标头是为了告诉浏览器如何处理响应。

下面,列举了Express中提供在Response对象上获取和设置标头值得方法:

方法 说明
get(header) 返回指定header参数的值
set(header, value) 设置header参数的值
set( headerObj ) 接受一个对象,这个对象包含多个’header’:’value’键值对。每个在headerObj参数中的标头都在Response对象中设置
location( path ) 把location标头设置为指定的path参数。这个路径可以是URL路径,例如/login; 完整的URL,例如http://server.net/; 部分路径,例如:../users; 或者一个浏览器行为,如back
type( type_string ) 根据type_string参数设置Content-Type标头。type_string可以是正常的内容类型,如:application/json; 部分类型,如png; 又或者是文件的扩展名,如html
attachment( [filepath] ) 把Content-Disposition标头设置为attachment, 并且如果指定filepath, 则Content-Type头是基于文件扩展名设置的。

看下面的代码:

var oldType = res.get('Content-Type'); // 获取Content-Type标头
res.set('Content-Type', 'text/plain');  // 设置标头

2、设置状态

直接看代码:

res.status( 200 );  // OK正确
res.status( 300 );  // Redirection重定向
res.status( 400 );  // Bad Request错误的请求
res.status( 401 );  // Unauthorized未经许可
res.status( 403 );  // Forbidden禁止
res.status( 500 );  // Server Error服务器错误

正如上面代码所示,设置状态响应使用的是status( number )方法,其中参数number是在HTTP规范中定义的HTTP响应状态。

3、发送响应

在Express里使用res.send()方法发送响应数据到客户端。
只要你为响应设置必要的标头和状态,send()方法就可以真正处理所有的必要响应。而一旦send()方法执行完毕,它会设置res.finished和res.headerSent属性值。知道了这个,我们就可以使用这些来验证响应是否被发送以及传输了多少数据等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值