Discussion: La méthode POST

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2017
    Messages : 3
    Points : 4
    Points
    4

    Par défaut La méthode POST

    Bonjour,

    j'écris ici car malgré tous les tutos suivi je n'arrive pas à mettre en place une méthode POST pour ajouter un utilisateur dans ma bdd.
    J'utilise express et mySQL. Pour les requête je les effectue avec postMan.

    Lors de la requête j’obtiens cette erreur que je ne comprends pas :
    Nom : postman.png
Affichages : 47
Taille : 54,3 Ko

    Ma base de données:
    Nom : bdd.png
Affichages : 45
Taille : 7,3 Ko

    app.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    var express = require('express');
    var path = require('path');
    var favicon = require('serve-favicon');
    var logger = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');
    var cors=require('cors');
     
    var index = require('./routes/index');
    var users = require('./routes/users');
    var UsersDB=require('./routes/UsersDB');
     
    var app = express();
     
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'jade');
     
    // uncomment after placing your favicon in /public
    //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
    app.use(cors());
    app.use(logger('dev'));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));
     
    //app.use('/', index);
    //app.use('/users', users);
    app.use('/Users',UsersDB);
     
    // catch 404 and forward to error handler
    app.use(function(req, res, next) {
      var err = new Error('Not Found');
      err.status = 404;
      next(err);
    });
     
    // error handler
    app.use(function(err, req, res, next) {
      // set locals, only providing error in development
      res.locals.message = err.message;
      res.locals.error = req.app.get('env') === 'development' ? err : {};
     
      // render the error page
      res.status(err.status || 500);
      res.render('error');
    });
     
    module.exports = app;
    model/Users.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    var db=require('../dbconnection'); //reference of dbconnection.js
     
    var Users={
     
    	getAllUsers:function(callback){
    		return db.query("Select * from users",callback);
    	},
     
     	getUsersById:function(id,callback){
    		return db.query("select * from users where id=?",[id],callback);
     	},
     
    	addUsers:function(Users,callback){
     		return db.query("Insert into users (firstName, secondName, aboutCode, storyPath, picturesPath, NHSfilePath) values(?,?,?,?,?,?)",
     						[Users.firstName,Users.secondName,Users.aboutCode,Users.storyPath,Users.picturesPath,Users.NHSfilePath],callback);	
     	},
     
     	deleteUsers:function(id,callback){
      		return db.query("delete from users where id=?",[id],callback);
     	},
     
     	updateUsers:function(id,Users,callback){
     		return db.query("update users set firstName=?, secondName=?, aboutCode=?, storyPath=?, picturesPath=?, NHSfilePath=?, where id=?",
     						[Users.firstName,Users.secondName, Users.aboutCode, Users.storyPath, Users.picturesPath, Users.NHSfilePath],callback);
    	}
     
    };
     
    module.exports=Users;
    routes/UsersDB.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    var express = require('express');
    var router = express.Router();
    var Users=require('../models/Users');
     
    //** GET **  ROUTE : http://localhost:3000/Users/id          => OK
    router.get('/:id?',function(req,res,next)
    {
        if(req.params.id){
            Users.getUsersById(req.params.id,function(err,rows)
            {
                if(err)
                {
                    res.json(err);
                }
                else
                {
                    res.json(rows);
                }
            });
        }
        else{
            Users.getAllUsers(function(err,rows)
            {
                if(err)
                {
                    res.json(err);
                }
                else
                {
                    res.json(rows);
                }
     
            });
        }
    });
     
    //** DELETE **  ROUTE : http://localhost:3000/Users/id         => OK
    router.delete('/:id',function(req,res,next)
    {
        Users.deleteUsers(req.params.id,function(err,count)
        {
            if(err)
            {
                res.json(err);
            }
            else
            {
                res.json(count);
            }
        });
     });
     
    //** POST **  ROUTE : http://localhost:3000/Users/       
    router.post('/',function(req,res,next)
    {
        Users.addUsers(req.body,function(err,count)
        {
            if(err)
            {
                res.json(err);
            }
            else
            {
                res.json(req.body);//or return count for 1 & 0
            }
        });
    });
     
    module.exports=router;
    Si quelqu'un peut m'éclairer car je ne comprends pas d'où peut venir l'erreur.
    Cordialement

  2. #2
    Membre chevronné
    Inscrit en
    octobre 2011
    Messages
    1 093
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 093
    Points : 1 894
    Points
    1 894

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var users = require('./routes/users');
    et
    model/Users.js
    ça ne colle pas, il me semble.
    Et puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Users=require('../models/Users');
    dans models, avec un s?! Comprends pas.

Discussions similaires

  1. [JSP] Méthode post entre 2 jsp
    Par SteelBox dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 13/03/2009, 02h20
  2. [HTTP] authentification par méthode post
    Par G00x2 dans le forum IO
    Réponses: 2
    Dernier message: 03/07/2005, 16h05
  3. Réponses: 3
    Dernier message: 07/03/2005, 16h08
  4. Formulaire utilisant la méthode POST + popup
    Par Hell dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/10/2004, 14h34
  5. [HTTP] Syntaxe méthode POST
    Par Gruik dans le forum Développement
    Réponses: 3
    Dernier message: 26/07/2003, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo