nodejs中的路由处理函数
文件app.js
var wx = require('./routes/wx-route');
app.use('/wx', wx);
文件wx-route.js
var express = require('express');
var router = express.Router();
var wxController = require('../controllers/wx-controller');
//微信发来请求
router.get('', wxController.checkSignature);//请求1
router.get('/:signature/:echostr/:timestamp/:nonce', wxController.checkSignature);//请求2
module.exports = router;
请求1能处理的路径是localhost/wx,后面可以带查询参数
localhost/wx?signature=16354146546546&echostr=4541541351×tamp=465464165&nonce=4145155
获取查询参数的方式是req.query
请求2能处理的路径是localhost/wx/param1/param2/param3/param4,后面是否带查询参数都可以
localhost/wx/jdklasfjldksjfl/jfkladsjflkdsjalf/jlksfjdklaksjdflk/jkasdfjklasdjf
获取参数的方式是req.params
对于post请求,获取参数的方式是req.body
var parameter = {};
if (req.params) {
for (var p in req.params) {
parameter[p] = req.params[p];
}
}
if (req.body) {
for (var p in req.body) {
parameter[p] = req.body[p];
}
}
if (req.query) {
for (var p in req.query) {
parameter[p] = req.query[p];
}
}
注意:GET请求的参数和查询参数是两种不同的参数,参数存在于访问路径中,
而查询参数是提交的表单数据,不属于访问路径。