利用node前后端分离,请求时对参数的处理方法

最近在用node(用的express框架)写数据接口,前端(用的vue-cli)异步获取数据,实尝试前后端分离的过程。
发现get和post请求对参数的处理方法不太相同。

GET方法
首先说前端请求接口传入参数时需要param来传递 (在vue中用的vue-resource实现异步请求)

let param = {page: this.page}
    this.$http.get('/goods', {params: param}).then(res => {
    res = res.body //这里注意,对接受的数据做第一步处理时 vue-resource用的是res.body,而axios用的是res.data
    //处理数据...
})

后端接口的实现也需要用param来获取请求的参数

router.get('/', (req, res, next) => {
    page = req.param('page')  //或者page = req.query.page
})

POST方法
首先还是前端请求不需要用param来传递参数,直接传入即可

this.$http.get('/goods', {page: this.page}).then(res => {
    res = res.body 
    //处理数据...
})

后端接口需要通过req.body来获取参数来处理

router.get('/', (req, res, next) => {
    page = req.body.page
})

虽然这是个小问题,跳进去也是很费精力爬,所以,记下来提醒自己。

相关推荐