文章涉及到的API:req.params
,res.json()
,app.get()
,app.post()
,app.param()
。ajax
1. app.get()
、app.post()
express
配置客户端路由(请求地址)。json
app.post('/get_json/:id', function (req, res) { // 响应块代码 })
这里配置了一个POST请求的地址。将app.post()
改为app.get()
也是能够的,只是请求类型会变成get
。数组
2. req.params
app
一个对象,其包含了一系列的属性,这些属性和在路由中命名的参数名是一一对应的。例如,若是你有/user/:name
路由,name
属性可经过req.params.name
的方式获取到,这个对象默认值为{}。函数
3. res.json()
post
发送一个json
的响应。这个方法和将一个对象或者一个数组做为参数传递给res.send()
方法的效果相同。不过,你能够使用这个方法来转换其余的值到json
,例如null
,undefined
。(虽然这些都是技术上无效的JSON
)。ui
4. app.param()
url
这个API有两个参数,(name, callback)
,name
是被监听参数的字段名, callback
则是对监听结果的回调函数。callback
有四个参数,分别是 request
、response
、next
、name
,request
作请求处理,response
作响应处理,next
执行正确参数时的函数操做,name
是被监听参数的值。code
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); } })