I get this error when trying to post to MariaDB in Node.js. I do not understand why, since is jData should be the response I should got back when querying MariaDB, which should look something like this:
{"fieldCount":0,"affectedRows":1,"insertId":4,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
})
Here is my client-side:
$("button").click(function () {
$.post("/signup-user", $("#frmSignup").serialize(), function (data, status) {
alert("Data: " + data + "\nStatus: " + status);
});
});
The router:
app.post('/signup-user', (req, res) => {
user.signupUser(req.body, (err, jResult) => {
if (err) {
console.log(jResult)
return res.send(jResult)
}
console.log(jResult)
return res.send(jResult)
})
})
And controller + model:
var user = {}
var mysql = require('mysql')
db = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "smsSystem"
})
db.connect(err => {
if (err) {
console.log('ERROR');
process.exit()
}
console.log('CONNECTED')
})
user.signupUser = (jUserData) => {
var aData = [
jUserData.txtFirstName,
jUserData.txtLastName,
jUserData.txtEmail,
jUserData.txtMobileNumber
]
var stmt = 'INSERT INTO users VALUES ?'
db.query(stmt, [aData], (err, jData) => {
console.log("jData", jData)
if (err) {
console.log('BAD, user not inserted')
return
} else if (jData.affectedRows == 1) {
console.log('GREAT, user inserted')
}
})
}
module.exports = user