У меня проблемы с отправкой почтового запроса в nodeExpress - PullRequest
0 голосов
/ 12 апреля 2019

я действительно не знаю, в чем может быть проблема, но каждый раз, когда я пытаюсь опубликовать сообщение, я получаю сообщение об ошибке: ER_BAD_NULL_ERROR: столбец 'idmedecin' не может быть пустым, я видел много похожих вопросов (проблема в пост-запросе)но ничто не решило мою проблему, и я не вижу, что я делаю неправильно, поскольку idmedcin явно не NULL. Используется reqLink = http://..***.107:3000/rendezvousinsert?idmedecin=1&idpatient=1&date=546654&etat=1

  const mysql = require('mysql');

const express = require('express');

var app = express();

const bodyparser = require('body-parser');



app.use(bodyparser.json());



var mysqlConnection = mysql.createConnection({

    host: 'localhost',

    user: 'root',

    password: '',

    database: 'pim',

    multipleStatements: true

});



mysqlConnection.connect((err) => {

    if (!err)

        console.log('DB connection succeded.');

    else

        console.log('DB connection failed \n Error : ' + JSON.stringify(err, undefined, 2));

});





app.listen(3000, () => console.log('Express server is runnig at port no : 3000'));

app.post('/rendezvousinsert/',(req,res)=> {
    var post= {
      idmedecin : req.body.idmedecin ,
      idpatient : req.body.idpatient ,
      date :  req.body.date ,
      etat : req.body.etat
    };
    mysqlConnection.query('INSERT INTO rendezvous SET ?' , post, function(error) {
        if (error) {
            console.log(error.message);
        } else {
            console.log('success');
        }
    });
});

. Вот моя структура таблицы table

Ответы [ 2 ]

2 голосов
/ 12 апреля 2019

Вы отправляете данные через query string http://..***.107:3000/rendezvousinsert?idmedecin=1&idpatient=1&date=546654&etat=1, но пытаетесь получить к ним доступ через req.body

idmedecin=1&idpatient=1&date=546654&etat=1 Эти данные доступны как

req.query.idmedecin // 1
req.query.idpatient // 1
req.query.date // 546654
// etc
1 голос
/ 12 апреля 2019

Вы пытаетесь получить поля из тела запроса, но в своем примере вы отправляете их как параметры запроса.

Я думаю, что правильный способ - отправить объект внутри тела POST, а не как параметры запроса, но если вы хотите, чтобы запрос оставался таким же, как в вашем примере, он должен выглядеть следующим образом:

var post= {
   idmedecin : req.query.idmedecin ,
   idpatient : req.query.idpatient ,
   date :  req.query.date ,
   etat : req.query.etat
 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...