shamon shamsudeen
shamon shamsudeen

Reputation: 5848

getting form data in node js:undefined error while submitting form

I am trying to get data from a form using express js.But i will get an undefined error in my console. here is my html

<form action="/login" method="post">
<label>Username</label>
<input type="text" name="username" value=""><br><br>
<label>Password</label>
<input type="password" name="password" value=""><br><br>
<input type="submit" name="" value="Login">
</form>

index.js

    var app = require('express')();
    var url = require('url');
    var server = require('http').Server(app);
    var io = require('socket.io')(server);
    var mongoose=require('mongoose');
    var path = require('path');
    var express = require('express');
    var bodyParser = require('body-parser');
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'ejs');
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
// for login 
    app.post('/login',function(req,res){
     console.log("server"+req.body.username+req.body.password);
    });

I will get undefined error in my console,also i have installed body-parser in my application.

Upvotes: 1

Views: 4891

Answers (1)

Cyrbil
Cyrbil

Reputation: 6478

I'm not having issue with this code:

var app = require('express')();
var server = require('http').Server(app);
var bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/login',function(req,res){
  console.log(req.body);
  console.log("server"+req.body.username+req.body.password);
});

var server = app.listen(3000);

And testing with:

curl 'http://127.0.0.1:3000/login' --data 'username=zetg&password=zetgze'

I don't know what is wrong with your code, but try going slowly step by step, and including your functionalities one by one.

Upvotes: 2

Related Questions