博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Express学习
阅读量:7164 次
发布时间:2019-06-29

本文共 1678 字,大约阅读时间需要 5 分钟。

Express 定义了如下和 HTTP 请求对应的路由方法: getpostputheaddeleteoptionstracecopylockmkcolmovepurgepropfindproppatchunlockreportmkactivitycheckout,

 mergem-searchnotifysubscribeunsubscribepatchsearch, 和 connect(连接)

来自 “/secret” 的请求,不管使用 GET、POST、PUT、DELETE 或其他任何 支持的 HTTP 请求,句柄都会得到执行。

app.all('/secret', function (req, res, next) {

路由路径

路由路径和请求方法一起定义了请求的端点,它可以是字符串字符串模式或者正则表达式

//字符 ?、+、* 和 () 是正则表达式的子集,- 和 . 在基于字符串的路径中按照字面值解释。

路由句柄有多种形式,可以是一个函数、一个函数数组,或者是两者混合

 

路由句柄

可以为请求处理提供多个回调函数,其行为类似 。唯一的区别是这些回调函数有可能调用 next('route') 方法而略过其他路由回调函数。可以利用该机制为路由定义前提条件,如果在现有路径上继续执行没有意义,则可将控制权交给剩下的路径。

 

使用多个回调函数路由(指定为next对象

 

多个回调函数:eg:        app.get('/example/b', function (req, res, next) {        console.log('response will be sent by the next function ...');        next();        }, function (req, res) {        res.send('Hello from B!');        });

 

  

 

 响应方法

下表中响应对象(res)的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。

方法	                     描述res.download()	         提示下载文件。res.end()	             终结响应处理流程。res.json()	             发送一个 JSON 格式的响应。res.jsonp()	          发送一个支持 JSONP 的 JSON 格式的响应。res.redirect()	         重定向请求。res.render()	         渲染视图模板。res.send()	            发送各种类型的响应。res.sendFile	         以八位字节流的形式发送文件。res.sendStatus()          设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。

app.route()

可使用 app.route() 创建路由路径的链式路由句柄由于路径在一个地方指定,这样做有助于创建模块化的路由,而且减少了代码冗余和拼写错误。

使用 app.route() 定义了链式路由句柄。    app.route('/book')  .get(function(req, res) {    res.send('Get a random book');  })  .post(function(req, res) {    res.send('Add a book');  })  .put(function(req, res) {    res.send('Update the book');  });

转载于:https://www.cnblogs.com/chen1997/p/9328430.html

你可能感兴趣的文章