错误:“$”

时间:2016-10-11 16:16:29

标签: javascript ecmascript-6 axios pg-promise

我目前正在检查Vue,并且正在对个人项目进行一些重构。

我的API遇到了一些问题。

所涉及的两项技术是axios,我用它来向我的API发送请求,该API使用pg-promise与postgres数据库进行对话。

api电话......

function add (entry, cb) {
  const length = entry.content.length
  entry.title = `${entry.content.substring(0, 32)}`
  axios.post('/api/notes', entry).then(cb)
}

此处,条目是和对象{标题,内容,prio,状态,上下文}

pg-promise端点

export const createNote = (req, res, next) => {
  db.none('insert into entries(title, content, prio, status, context)' +
      'values( ${title}, ${content}, ${prio}, ${status}, ${context})',
    req.body)
  .then(() => {
    res.status(200)
    .json({
      status: 'success',
      message: 'Inserted one entry'
    })
  }).catch(err => next(err))
}

这里,req.body是未定义

  1. 我不知道为什么我会被定义。
  2. error log有帮助吗?
  3. 我正在阅读axios的文档,似乎没有发现我的api电话有任何问题,我想我会在这里发布一些内容。

    谢谢!

1 个答案:

答案 0 :(得分:0)

req.body它具有以下结构[{.....}]

对于pg-promise需要{....}

解决问题req.body [0]

 export const createNote = (req, res, next) => {
  db.none('insert into entries(title, content, prio, status, context)' +
      'values( ${title}, ${content}, ${prio}, ${status}, ${context})',
    req.body[0])
  .then(() => {
    res.status(200)
    .json({
      status: 'success',
      message: 'Inserted one entry'
    })
  }).catch(err => next(err))
}