文章涉及到的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); } })