Nodejs Express 4.X 中文API 3--- Response篇

简介: 相关阅读:  Express 4.X API 翻译[一] --  Application篇  Express 4.X Api 翻译[二] --  Request篇  Express 4.X Api 翻译[三] --- Response篇  Express 4.X Api 翻译[四] --- Router篇   本篇是Express 4.0 API翻译的第三篇,本篇的内容主要是Response的相关操作。

相关阅读:

 Express 4.X API 翻译[一] --  Application篇

 Express 4.X Api 翻译[二] --  Request篇

 Express 4.X Api 翻译[三] --- Response篇

 Express 4.X Api 翻译[四] --- Router篇

 

本篇是Express 4.0 API翻译的第三篇,本篇的内容主要是Response的相关操作。

res.status(code)

支持连贯调用的node’s的 res.statusCode = 的别名。

 

 res.set(field,[value])

设置请求头的字段为指定的值,或者通过一个对象一次设置多个值。

别名为:res.header(field,[value]); 。

 res.get(field)

获取不区分大小写的响应头 “field”(字段)。

 

 res.cookie(name,value,[options])

设置cookie name 的值为 value,接受参数可以一个字符串或者是对象转化成的JSON,path 默认设置为’/’。

最大生存期参数[maxAge] 是一个方便的设置项来设置过期时间,值为相对于当前时间的毫秒时间。下面的代码就是这样的一个例子。

当一个对象被序列化为JSON后是可以被设置为值的,并且它也会自动被bodyParser()中间件解析。

被签名的cookie也同样被支持通过这种方法设置,简单的通过signed参数。当被给定的res.cookie()将会使用通过cookieParser(secret)传递进来的参数来签名。

之后你就可以通过req.signedCookie对象来访问这个值。

res.clearCookie(name,[options])

清除名为 name 的cookie ,默认作用域为’/’

 

 res.redirect([status],url)

重定向至给定的 url 并且支持指定 status 代码,默认为 302 方式

Express支持 一下几种重定向首先是通过全的符合规则的URL重定向到一个完全不同的域名。

第二点是相对根域名重定向,例如,如果你想从http://example.com/admin/post/new 跳转至 /admin 下,你使用下面的代码,将会是你跳转到http://ehttp://example.com/admin

第三点是相对于挂载点跳转,例如,如果你的博客程序挂载在’/blog’,而事实上,它是不知道自己被挂载在哪里的,此时你想重定向至’/admin/post/new’下,你将会被带到’http://example.com/admin/post/new’ 使用下面的代码,将会将页面重定向至’http://example.com/blog/admin/post/new’

当然也是允许页面路径相对跳转的。如果你现在在’http://example.com/admin/post/new’,使用下面的代码,你可以被带到’http://example.com/admin/post’

最后还有一种特殊的跳转,即’back’重定向,它会将您重定向至 Referer (或者是Referrer),当来源不存在时默认定向至 ‘/’下。

 res.location

设置location响应头

可以使用与res.redirect()相同的urls

例如,如果你的程序被挂载在/blog 下面的代码将会将location响应头赋值为/blog/admin

 

 res.send([body|status],[body])

发送一个响应。

在简单的non-streaming响应时,这个方法会自动进行一些有用的任务。例如如果之前没有定义过Content-Length,他会自动分配,它会自动设置一些HEAD信息,或者HTTP缓存支持。

当传入的内容为指定的Buffer,那么Content-Type会被设置为”application/octet-stream” 除非你预先执行了下面的定义。

当一个数组或者是对象被传入Express将会自动转化为JSON的形式响应:

最后,如果给定的参数是一个数字,而且没有上面提到的任何一个响应体,Express会为你设置一个默认的响应体。例如200 将会被设置响应体为 “OK” 和 404 将会被设置为”Not Found” 等。

 

 res.json([status|body],[body])

发送一个JSON响应。这个方法与res.send()是完全相同的,当一个对象或者数组被传入的时候。然而它或许是有用的,例如在转化一些非对象(null,undefined,等等),因为这些并不是有效的JSON。

  res.jsonp([status|body],[body])

发送一个支持JSONP的JSON响应。这个方法是和res.json()完全相同的,但是它支持JSONP callback

默认的JSONP回调函数名字是callback ,然而你可以通过jsonp callback name 设置项来设置,下面的代码是使用jsonp的一些例子。

 

  res.type(type)

将内容的类型设置为MIME类型的 type ,可以是简写,也可以是存在’/’的字符串。当’/’存在时,类型就确定为type

 

res.format(object)

设置特定请求头的响应,这个方法是使用req.accepted,这个是一个根据其可接受类型的重要性排序的数组,否则,第一个回调函数将会被调用。当没有合适的匹配时,系统返回406 “NotAcceptable” 或者调用 default 回调函数。

Content-Type会被设置好在你被选择的回调函数执行的时候,然而你可以通过res.set()或者res.type()更改这里的类型。

下面的例子为在接受请求头字段被设置为”application/json”或者”*/json”的时候回返回{“message”:”hey”},然而,如果”*/*”时将会返回”hey”。

除了使用一些标准的MIME类型,你也可以是用扩展名映射这些类型,下面是一些详细的展示。

 

 res.attachment([filename])

设置响应头”Content-Disposition”的值为”attachment”。如果一个文件被给定,然后Content-Type将会被自动设置为基于其扩展名的的类型通过res.type(),然后Content-Disposition的”filename=”字段将会自动被设置。

 

 res.sendfile(path,[options],[fn])

path用来传递文件的路径。

通过文件的扩展名将会自动设置默认的Content-Type,然后回调函数 fn(err)将会被调用在传送后或者是产生任何错误的时候。

Options:

  • maxAge 以毫秒为单位,默认是0
  • root 相对于文件名的根目录

这种方法提供了细粒度的文件存储缩略图服务

点击此处寻求更多的帮助,send

res.download(path,[filename],[fn])

path传输所需要传输的文件的路径,通常浏览器会提示用户下载。浏览器弹出的下载文件窗口的文件名和响应头里的Content-Disposition 的”filename=”参数是一致的。你也可以自己定义文件名。

当发生错误或者是一个文件传送完成将会调用回调函数 fn 。这个方法是用res.sendfile()来发送文件。

 

 res.link(links)

合并并填充响应头内的”Link”字段,通过给定的links。

处理后

 

 res.locals

一次请求的本地化变量,因此只能保持在一次请求/响应的view的输出之前,其实这个和API的app.locals是一样的。

这个对象是放置请求级的信息,此时放置请求的路径名,验证过的用户和用户设置等等。

 

 res.render(view,[locals],callback)

渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生next(err)将会被自动调用。callback将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了。

转自:http://www.90it.net/expressjs-4-api-zh-cn-response.html

目录
相关文章
|
29天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实战指南
【9月更文挑战第6天】在数字化时代的潮流中,后端开发作为支撑现代Web和移动应用的核心,其重要性不言而喻。本文将深入浅出地介绍如何使用Node.js及其流行的框架Express来搭建一个高效、可扩展的后端服务。通过具体的代码示例和实践技巧,我们将探索如何利用这两个强大的工具提升开发效率和应用性能。无论你是后端开发的新手还是希望提高现有项目质量的老手,这篇文章都将为你提供有价值的见解和指导。
|
1月前
|
缓存 JavaScript 前端开发
深入浅出:使用Node.js构建RESTful API
【9月更文挑战第3天】在数字化浪潮中,后端开发如同搭建一座连接用户与数据的桥梁。本文将带领读者从零开始,一步步用Node.js搭建一个功能完备的RESTful API。我们将探索如何设计API的结构、处理HTTP请求以及实现数据的CRUD操作,最终通过一个简单的实例,展示如何在真实世界中应用这些知识。无论你是初学者还是有一定经验的开发者,这篇文章都会为你揭示后端开发的奥秘,让你轻松入门并掌握这一技能。
70 3
|
2月前
|
JavaScript 前端开发 中间件
构建高效后端服务:Node.js与Express框架的完美搭档
【8月更文挑战第28天】在追求高性能、可扩展和易维护的后端开发领域,Node.js和Express框架的组合提供了一种轻量级且灵活的解决方案。本文将深入探讨如何利用这一组合打造高效的后端服务,并通过实际代码示例展示其实现过程。
|
2月前
|
存储 JavaScript NoSQL
构建高效Web应用:使用Node.js和Express框架
【8月更文挑战第30天】本文将引导你了解如何使用Node.js和Express框架快速搭建一个高效的Web应用。通过实际的代码示例,我们将展示如何创建一个简单的API服务,并讨论如何利用中间件来增强应用功能。无论你是新手还是有经验的开发者,这篇文章都将为你提供有价值的见解。
|
1天前
|
JavaScript 中间件
**认识**Node.js Express
**认识**Node.js Express
10 3
|
7天前
|
Web App开发 JavaScript 前端开发
构建高效Web应用:Node.js与Express框架的深度整合
【9月更文挑战第28天】在现代Web开发领域,Node.js和Express框架的结合已成为打造高性能、易扩展应用的黄金组合。本文将深入探讨如何利用这一技术栈优化Web应用架构,提供具体实践指导,并分析其性能提升的内在机制。通过代码示例,我们将展示从基础搭建到高级功能的实现过程,旨在为开发者提供一条清晰的学习路径,以实现技术升级和项目效率的双重提升。
20 3
|
11天前
|
前端开发 JavaScript 安全
node登陆接口权限配置cookie-parser、express-session
本文介绍了在Node.js中使用express-session和cookie-parser实现登录接口的权限配置,包括验证码接口的生成和自定义中间件的创建,用于验证用户权限。
12 0
node登陆接口权限配置cookie-parser、express-session
|
11天前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
13 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
17天前
|
缓存 监控 JavaScript
构建高效后端服务:Node.js与Express框架的完美结合
【9月更文挑战第18天】在数字化时代的浪潮中,后端服务的效率和稳定性成为了企业竞争力的关键。本文将深入探讨如何使用Node.js和Express框架来构建一个既高效又稳定的后端服务,同时通过实际代码示例,展示如何优化性能并确保服务的高可用性。
|
24天前
|
Web App开发 缓存 JavaScript
构建高效后端服务:Node.js与Express框架的完美结合
【9月更文挑战第11天】本文将引导开发者探索如何利用Node.js和Express框架搭建一个高效的后端服务。文章不仅深入讲解了这两个工具的核心概念,还通过实际示例展示了它们的强大功能和易用性。读者将学会如何处理HTTP请求、设计RESTful API以及优化应用性能。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识,帮助你在后端开发领域更进一步。