如何使用节点接收数据

时间:2019-07-16 18:17:18

标签: javascript node.js json

我正在研究网站的前端和后端。我尝试将数据发送到后端,但似乎无法以任何方式解析它。我正在使用node.js并表示要构建后端。我不明白如何从网站访问发送的数据。

这是我将数据发送到服务器的方式。我检查了一下,并在发送数据时将其正确发送为有效json。

function submitForm(){
  name = document.getElementById('customer_name1').value;
  parent_name = document.getElementById('parent_name').value;
  smyID = document.getElementById('symID');
  customer_id = uuidv4();
  loc1 = document.getElementById('loc1').value;
  location_id = uuidv4();
  r_name = document.getElementById('room_name');
  r_symID = document.getElementById('rsym_id');
  room_id = uuidv4();
  d_e164 = document.getElementById('e164').value;
  username = document.getElementById('u_name').value;
  user_password = document.getElementById('u_pass');
  ip_adr = document.getElementById('ip_adr').value;
  device_id = uuidv4();
  var customer = {
    customer_name: [name, customer_id, parent_name, symID],
    locations: [loc1, location_id, customer_id],
    rooms: [r_name, room_id, location_id, r_symID],
    devices: [room_id, d_e164, username, user_password, ip_adr, device_id]
  };
  var data = JSON.stringify(customer);
  var xhttp;
  if (window.XMLHttpRequest){
      xhttp=new XMLHttpRequest();
  }
  else{
      xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

  xhttp.open("post", 'http://localhost:3000/users', true);
  xhttp.setRequestHeader('Content-type', 'application/application/json;charset=UTF-8');
  xhttp.send(data);

我以前有一个可以获取所需数据的版本,但我想进行一次api调用而不是5种不同的API调用。这是以前的工作。

function createUser(req, res, next) {
  let user_id = uuidv4();
  let new_customer = new PQ('insert into customer(customer_name, ID, parent, symID) values ($1, $2, $3, $4)');
  new_customer.values = [req.body.customer_name, user_id, req.body.parent, req.body.symID];
  db.none(new_customer)
    .then(() => {
      res.status(200).json({
        id: user_id
      })
    })
    .catch(function (err) {
      return next(err);
  });
}

当我尝试将任何东西发布到服务时,我只会遇到500错误。没有其他任何说明。

更新:当我尝试仅使用console.log进行简单的功能时,使用send方法时不会发送任何数据!

1 个答案:

答案 0 :(得分:-1)

您尝试console.log()这些值

  

req.body.customer_name,user_id,req.body.parent,req.body.symID

在服务器上?只是看看你能不能得到那些。

也许尝试使用JSON.parse()将正文解析回json