我正在研究网站的前端和后端。我尝试将数据发送到后端,但似乎无法以任何方式解析它。我正在使用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方法时不会发送任何数据!
答案 0 :(得分:-1)
您尝试console.log()这些值
req.body.customer_name,user_id,req.body.parent,req.body.symID
在服务器上?只是看看你能不能得到那些。
也许尝试使用JSON.parse()将正文解析回json