Когда я отправляю данные формы из формы HTML, все значения, добавленные в базу данных MySQL, отображаются как неопределенные. Я console.logged req.body, и это показано правильно. Форма HTML в клиенте является нормальной формой (важно отметить, что я не отправляю multipart / form-data, в HTML отсутствует атрибут "enctype"). Я искал по всему rnet, чтобы понять, что я делаю не так. Я хотел бы знать, в чем проблема. Вот мой внутренний код:
const express = require('express');
const bodyParser = require('body-parser'); // Required for POST requests to work
const mysql = require('mysql');
const path = require('path');
const cors = require('cors');
const app = express();
const port = 1000;
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.json());
app.use(cors());
const DB = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '1',
database: 'onlineshop',
});
DB.connect(err => {
if (err) throw err
console.log("Connected to MySQL database")
});
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.post('/register', (req, res) => {
let newCustomer = req.body;
let q = `INSERT INTO customers (firstname, lastname, email, password, city, street, role)
VALUES ("${newCustomer.firstname}",
"${newCustomer.lastname}",
"${newCustomer.email}",
"${newCustomer.password}",
"${newCustomer.city}",
"${newCustomer.address}",
0`
const result = DB.query(q, (err,result)=>{
if (err) throw err
res.json(result)
})
});
app.listen(port, console.log('App listening at port 1000'));
Спасибо!