node.js express中app.param的用法详解


Posted in Javascript onJuly 16, 2017

前言

大家应该都知道,express中app.param方法用于验证参数,我个人把它理解成类似对参数过滤的一个中间件。在这里我来结合几个demo,加深大家对app.param方法的理解。下面话不多说,来一起通过示例代码看看详细的介绍吧。

demo1:

var express = require('express');
var app = express();
app.param(function(param, option) {
 return function (req, res, next, val) {
 if (val == option) {
  next(); //
 }
 else {
  res.sendStatus(404);
 }
 }
});
app.param('id', 1337);
app.get('/user/:id', function (req, res) {
 res.send('参数通过检验');
});

app.listen(3000, function () {
 console.log('Ready');
});

在上述例子中,只有在地址栏输入http://localhost:3000/user/1337的情况下,页面才会显示“参数通过检验”。

也就是说app.params()可以对地址栏参数进行过滤,针对不同参数作出不同响应。

但是上述代码,在运行的时候会有这样的提示:

express deprecated router.param(fn):Refactor to use path params

demo1中示例的写法并不推荐,改成如下写法,提示就会消失:

demo2:

var express = require('express');
 var app = express();
 app.param('id', function (req, res, next, id) {
 if(req.params.id==1337){
  next();
 }
 else{
  res.sendStatus(404);
 }
 });
 app.param('id', 1337);
 app.get('/user/:id', function (req, res) {
  res.send('参数通过检验');
 });
 
 app.listen(3000, function () {
  console.log('Ready');
 });

tip:通常app.params结合正则表达式使用更强大。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
checkbox勾选判断代码分析
Jun 11 Javascript
基于JavaScript实现生成名片、链接等二维码
Sep 20 Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 Javascript
Angular的$http与$location
Dec 26 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
微信小程序实现星星评价效果
Nov 02 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
May 31 Javascript
jQuery实现简单日历效果
Jul 05 jQuery
vue 遮罩层阻止默认滚动事件操作
Jul 28 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
Oct 02 Javascript
Node.js中流(stream)的使用方法示例
Jul 16 #Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 #Javascript
Vue Spa切换页面时更改标题的实例代码
Jul 15 #Javascript
Vue应用部署到服务器的正确方式
Jul 15 #Javascript
js+html5实现侧滑页面效果
Jul 15 #Javascript
angular2 ng build部署后base文件路径问题详细解答
Jul 15 #Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 #Javascript
You might like
cache_lite试用
2007/02/14 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
php 魔术方法详解
2014/11/11 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
取得传值的函数
2006/10/27 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
Python实现登录接口的示例代码
2017/07/21 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python os用法总结
2018/06/08 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Django model class Meta原理解析
2020/11/14 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
初三化学教学反思
2016/02/22 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS