Friday, 12 May 2017

Express router post function not working

Declaration:

var express = require('express');
var router = express.Router();

Post call:

router.route('/signup')
    .post(function (req, res) {
        console.log('post signup called', req.body);
        res.json({message: 'signup'});
    });

module.exports = router;

The req.body is always undefined. I am able to print them console inside ajax call. I don't understand req.body is undefined. What am I missing?

Ajax post data sent like:

$.ajax({
    url: '/signup',
    type: 'POST',
    data: params,
    success: function (res) {
        console.log('res', res);
    },
    error: function (err) {
        console.log('err', err);
    }
});

server js: Already using body-parser here

var express = require("express");
var path = require('path');
var app = express();
var mongoose = require('mongoose');
var request = require("request");
var router = require('./app/routes/route.js');
var functions = require('./app/functions/functions.js');
var http = require('http');
var https = require('https');
var bodyParser = require('body-parser');
var nodemailer = require('nodemailer');
var model = require('./app/model/model.js');



via kittu

No comments:

Post a Comment