有你在真好 的个人博客
举例告诉你第二个参数response怎么用
阅读:2241 添加日期:2021/3/27 23:25:20 原文链接:https://www.toutiao.com/item/6430777921559855617/

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

客户在每次请求到达服务器的时候,都会创建一个请求对象(request)和一个响应对象(response),而响应对象主要负责将服务器的数据响应给客户端,这些数据包含响应头和消息体,响应头里面主要浏览器解析数据需要的一些参数用户不可见,而消息体包含用户数据。

举例告诉你第二个参数response怎么用

本文将会引入一个模板引擎叫handlebar。不是特别了解的同学可以参考它的官网看看,模板的使用没什么难的,一说就会,一看就懂。哈哈。(参考handlebar的官网),有关模板的使用(像EJS,JADE等),回头我专门用一篇把它们拧出来讲一讲。回到这篇

这篇文章的实例目录是这样的:

举例告诉你第二个参数response怎么用

其中views目录下render.hbs是模板文件,这里模板文件内容直接输出:

<h1>This is my home</h1>

首先安装好express和express-handlebars。然后在实例JS中引入初始化即可,像下面这样:

举例告诉你第二个参数response怎么用

以下response简称res。

1、res.render

这个方法是用来渲染模板,将数据(通常是JSON)填充到模板文件中,然后返回给客户端。最简单的用法是这样的:

举例告诉你第二个参数response怎么用

当访问:

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定义这些需要传到模板中的变量,像下面这样子:

举例告诉你第二个参数response怎么用

这样子,这个name同样可以传到模板文件中。

3、res.set

set方法用来设置response Headers中的参数,比如上那个例子在render之前我加上下面这一行:

response.set('Content-type','text/html')

通过浏览器控制台我们可以看到:

举例告诉你第二个参数response怎么用

4、res.send

send方法用来向浏览器返回状态和信息内容,简单的用法:

举例告诉你第二个参数response怎么用

status定义的是状态码,send中发送的是内容。

假如我们需要实现api,输出JSON数据,就可以这么实现

举例告诉你第二个参数response怎么用

结果是这样的:

举例告诉你第二个参数response怎么用

5、res.redirect

最后一个常用的是重定向方法,比如可以加这么一行代码:

response.redirect('https://xxx')

这样就会直接方向xxx的网址,当然,也可以重定向到另一个路由:

response.redirect('/json')

最后总结一下:

这里通过列举几个response常用的方法来阐述response的基本用法。而response却不止这些方法,大家可以参考Express的中文官网,那里很详细。

短内容,说完整事,哪怕只读一篇也能学知识。点击关注小郑搞码事,说的都是那堆代码。谢谢您的鼓励!

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号