未定义Javascript对象-jQuery + Node JS

时间:2018-09-09 18:40:32

标签: javascript node.js ajax

我正在面对这个问题,并且是Javascript和NodeJS的新手,下面我在/update/:id的Route上有此代码

controller.save = (req, res) => {
  const data = req.body
  const name = req.body.name
  const cpf = req.body.cpf
  req.getConnection((err, connection) => {
    const query = connection.query(
      `INSERT INTO clientes(Nome, CPF) 
    VALUES('${name}','${cpf}')`,
      data,
      (err, clientes) => {
        res.json(clientes)
      }
    )
  })
}

,我有一个带有称为“更新”的按钮的表单,当我单击时,AJAX完成了此操作。

$(document).on("click", ".update", function() {
  var user_id = $(this).attr("id")
  $.ajax({
    url: "/update/" + user_id,
    method: "GET",
    dataType: "json",
    success: function(to) {
      alert(to)
    }
  })
})

我收到警报[Object Object],当我转到网络响应时,我收到以下消息:

  [{"ID":5,"Nome":"tobiaas","CPF":"107"}]

将警报更改为alert(to.Nome)时,我会收到警报Undefined

我不想使用.map,因为我认为这是一种简单的工作方式。

1 个答案:

答案 0 :(得分:0)

您将收到一个数组作为响应,Array.Nome不存在,您的输出是正常的。

您需要使用response[0]response.pop()获取该项目才能访问它:

success: function(response) {
  const to = response[0]
  alert(to.Nome)
}

有关javascript数组访问的更多信息,请参见W3School