2014年11月23日 星期日

express實作RESTful CRUD,取得client傳遞的資料

express本身即支援restful 做CRUD的四個method
client端透過ajax傳遞資料給api取得參數的方式如下

一.get 讀取
  放在api url上的參數透過req.params.xx取得
  url上的query string則是透過req.query.xx取得
例
執行localhost:3838/api/prod/32?name=ozzy
app = express()
app.get '/api/prod/:id',(req,res)->
  _id = req.params.id #取到32
  _name = req.query.name #取到ozzy

二.post 新增
  透過post傳送的資料,透過req.body.xx取得
例
app.post '/api/prod/',(req,res)->
  _name = req.body.name

三.put 修改
  ajax put所傳送的資料,還是透過req.body.xx取得
  但注意ajax端傳送的content-type一定要是
  application/x-www-form-urlencoded
  如果是使用jquey.ajax送,其預設content-type即是
例
client端
$.ajax
  url:'localhost:3838/api/prod/33'
  type:'PUT'
  content-type:"application/x-www-form-urlencoded"
  data:
    name:'xxx'
  ...

api端
app.put '/api/prod/:id',(req,res)->
  _id = req.params.id
  _name = req.body.name

四.delete 刪除
  ajax delete要刪除資料,用用到的參數與get相同
  只會用到req.params.xx與req.query.xx
例
app.delete '/api/prod/:id',(req,res)->
  _id = req.params.id

沒有留言: