点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
客户在每次请求到达服务器的时候,都会创建一个请求对象(request)和一个响应对象(response),而响应对象主要负责将服务器的数据响应给客户端,这些数据包含响应头和消息体,响应头里面主要浏览器解析数据需要的一些参数用户不可见,而消息体包含用户数据。
本文将会引入一个模板引擎叫handlebar。不是特别了解的同学可以参考它的官网看看,模板的使用没什么难的,一说就会,一看就懂。哈哈。(参考handlebar的官网),有关模板的使用(像EJS,JADE等),回头我专门用一篇把它们拧出来讲一讲。回到这篇
这篇文章的实例目录是这样的:
其中views目录下render.hbs是模板文件,这里模板文件内容直接输出:
<h1>This is my home</h1>
首先安装好express和express-handlebars。然后在实例JS中引入初始化即可,像下面这样:
以下response简称res。
1、res.render
这个方法是用来渲染模板,将数据(通常是JSON)填充到模板文件中,然后返回给客户端。最简单的用法是这样的:
当访问:
http://localhost:1234/handle
输出:
This is my home
2、res.locals
在讲这个方法前大家一定要先明白,我们在使用模板渲染时,是可以往这个模板中传数据的,怎么传,最简单的传法是这样子的:
res.render('render',{name:'wp'});
然后,将模板内容改一下:
<h1>This is {{name}}</h1>
这样就传过来了。下面在来讲locals。
locals是一个本地变量的意思,怎么使用了,先给中间件定义两个回调函数,我们可以在第一个回调函数中通过res.locals定义这些需要传到模板中的变量,像下面这样子:
这样子,这个name同样可以传到模板文件中。
3、res.set
set方法用来设置response Headers中的参数,比如上那个例子在render之前我加上下面这一行:
response.set('Content-type','text/html')
通过浏览器控制台我们可以看到:
4、res.send
send方法用来向浏览器返回状态和信息内容,简单的用法:
status定义的是状态码,send中发送的是内容。
假如我们需要实现api,输出JSON数据,就可以这么实现
结果是这样的:
5、res.redirect
最后一个常用的是重定向方法,比如可以加这么一行代码:
response.redirect('https://xxx')
这样就会直接方向xxx的网址,当然,也可以重定向到另一个路由:
response.redirect('/json')
最后总结一下:
这里通过列举几个response常用的方法来阐述response的基本用法。而response却不止这些方法,大家可以参考Express的中文官网,那里很详细。
短内容,说完整事,哪怕只读一篇也能学知识。点击关注小郑搞码事,说的都是那堆代码。谢谢您的鼓励!
