【NodeJs基础篇】(十一)Express 4.x中request参数的获取
2016-11-04 10:40
381 查看
基本上每一个
Github源码下载
然后在浏览器访问 http://localhost:3000/find/1
即可以看到控制台输出了1,同时界面上也显示1.
如果有多个参数,可以这样设置:
在浏览器访问:http://localhost:3000/find/a/b
访问示例:http://localhost:3000/search?id=1&name=a
构造一个Ajax Post:
向服务器提交sid。
后端代码如下:
这里出现了一个新东西,
如果是
源码地址:https://github.com/zgljl2012/express-learn
打开服务器:
Http服务器的编程框架都是对
request和
response的处理。即处理浏览器对服务器的请求(
request)和服务器对浏览器的响应(
response)。
request是浏览器给服务器的请求,一般用到的是两种方法:
Post和
Get(Express也支持其它方法,如
put)。两种方法都会指定路由,除此之外,
Get方法的使用场景是浏览器向服务器请求数据,比如访问首页,即向浏览器请求首页内容,可以带参数指定需要哪些内容,所以我们需要既能获取路由还能获取参数;
Post指的是向服务器推送内容,然后获得一个反馈,所以我们需要能获取
Post的内容。
request提供了三种方法来获取参数和内容:
request.params,
request.query,
request.body。
Github源码下载
request.params方法
params方法用于从express路由器获取参数,示例如下:
app.get('/find/:id', function(req,res){ console.log(req.params.id); res.send(req.params.id); })
然后在浏览器访问 http://localhost:3000/find/1
即可以看到控制台输出了1,同时界面上也显示1.
如果有多个参数,可以这样设置:
/find/:group/:name,示例:
// params example2 app.get('/find/:group/:name', function(req, res) { console.log(req.params.group+" "+req.params.name); res.send(req.params.group+" "+req.params.name); })
在浏览器访问:http://localhost:3000/find/a/b
request.query方法
request.query获取
?后的查询参数,很简单,示例如下:
app.get('/search', function(req, res){ console.log(req.query.id) res.send(req.query.id) })
访问示例:http://localhost:3000/search?id=1&name=a
request.body
上述两个都是获取的get参数,下面获取一下Post的内容。目前,常见使用Post提交的场景有两个,表单提交和Ajax。下面以Ajax为例,介绍如何使用获取Post中的参数。构造一个Ajax Post:
$.post("/add", {sid:sid});
向服务器提交sid。
后端代码如下:
var bodyParser = require("body-parser") ... app.use(bodyParser.urlencoded({extended:true})) ... app.post('/add', function(req, res) { var sid = req.body.sid; console.log(sid) });
这里出现了一个新东西,
bodyParser,在express 4.x中,我们需要单独引入
bodyParser作为
post body的解析器。在https://github.com/expressjs/body-parser 有这个模块的详细介绍。
如果是
json数据提交,需要使用
bodyParser.json(),文本则需
bodyParser.text()(此时req.body的类型变成了字符串)。这两种在源码里均有测试。
源码地址:https://github.com/zgljl2012/express-learn
打开服务器:
npm install node app.js
相关文章推荐
- nodejs 使用express开发获取其他网站引用本站点js文件的参数
- (六)、nodejs中的express框架获取http参数
- NodeJs中的express框架获取http参数
- NodeJs中的express框架获取http参数
- NodeJS中,Express获取request所传递的数据方式
- 获取地址中的参数 request.QueryString("param")
- ASP.NET使用Request获取来源网址URL参数
- JavaScript获取request参数的方法
- ASP.NET使用Request获取来源网址URL参数
- action中获取request进行参数设置
- 获取请求 Web 服务器变量的集合Request.ServerVariables 参数大全[转]
- XNA框架基础——获取免费的XNA Game Studio Express
- request.getParameter 获取不到页面的参数的问题
- ASP.NET使用Request获取来源网址URL所有参数信息
- 【收集整理】request获取参数为中文乱码解法方法
- 获取request里的所有参数及参数名(参数名自动获取)
- 严格验证获取request参数的函数。
- ASP.NET使用Request获取来源网址URL参数
- request.get获取参数
- 很强悍的js获取request参数的方法