0

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
CodeHip
  • 367
  • 5
  • 18

0 Answers0