IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

La méthode POST


Sujet :

NodeJS

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 12
    Points : 6
    Points
    6
    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 : 350
Taille : 54,3 Ko

    Ma base de données:
    Nom : bdd.png
Affichages : 351
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 émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    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, 01h20
  2. [HTTP] authentification par méthode post
    Par G00x2 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/07/2005, 15h05
  3. Réponses: 3
    Dernier message: 07/03/2005, 15h08
  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, 13h34
  5. [HTTP] Syntaxe méthode POST
    Par Gruik dans le forum Développement
    Réponses: 3
    Dernier message: 26/07/2003, 17h12

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