#初识Express# Express 框架处理前端请求(/:id)
文章涉及到的API:req.params
,res.json()
,app.get()
,app.post()
,app.param()
。
API讲解
1. app.get()
、app.post()
配置客户端路由(请求地址)。
app.post('/get_json/:id', function (req, res) { // 响应块代码 })
这里配置了一个POST请求的地址。将app.post()
改成app.get()
也是可以的,只是请求类型会变成get
。
2. req.params
一个对象,其包含了一系列的属性,这些属性和在路由中命名的参数名是一一对应的。例如,如果你有/user/:name
路由,name
属性可通过req.params.name
的方式获取到,这个对象默认值为{}。
3. res.json()
发送一个json
的响应。这个方法和将一个对象或者一个数组作为参数传递给res.send()
方法的效果相同。不过,你可以使用这个方法来转换其他的值到json
,例如null
,undefined
。(虽然这些都是技术上无效的json
)。
4. app.param()
这个API有两个参数,(name, callback)
,name
是被监听参数的字段名, callback
则是对监听结果的回调函数。callback
有四个参数,分别是 request
、response
、next
、name
,request
做请求处理,response
做响应处理,next
执行正确参数时的函数操作,name
是被监听参数的值。
app.param('id', function(req, res, next, id) { if (id == 3) { next() // 参数正确调用next函数 } else { // 监听参数不存在或者错误,给出错误响应 console.log('Erro !!!'); res.send('Erro !!!!'); } })
示例代码
- 服务端代码
var express = require('express'); var bodyParser = require('body-parser'); var app = express(); // 解析json格式的数据 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); // POST请求 返回JSON串数据 app.post('/get_json/:id', function (req, res) { console.log("接收到 POST 请求"); var json = { 'message': '欢迎访问', 'data': { 'a': 1, 'b': 2, 'c': 4, 'd': 3, 'e': 5 } } res.json(json); }) // 处理不同参数的请求 app.param('id', function(req, res, next, id) { if (id == 3) { next() // 执行正常操作,返回JSON数据 } else { console.log('Erro !!!'); console.log(req.params); res.send('Erro !!!!'); } })
- 客户端请求
ajax({ url: '/get_json/1', // 传 3 的时候,后台才会返回JSON数据 type: 'POST', data: data, success: function(data){ // console.log( JSON.parse(data) ); console.log(data); } })
相关推荐
南昌千网科技 2020-10-18
Symiac 2020-07-04
xxuncle 2020-07-04
Symiac 2020-07-04
bowean 2020-06-28
风萧萧梦潇 2020-06-14
woxxoole 2020-06-13
RainyX 2020-06-12
abdstime 2020-06-10
smj000 2020-06-09
学习web前端 2020-06-07
Beibeizhao 2020-05-28
jiangcs0 2020-05-22
唯美st丶 2020-05-15
龙旋 2020-04-22
元元 2020-04-20
杏仁技术站 2020-04-15