app.get req.body undefined

Я новичок из стека MEAN, испытывающий проблемы с маршрутами, и, вероятно, анализирую: следующий код возвращает мне req.body: undefined.:

Server.js:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://127.0.0.1/roomem');

var Roomie = require('./public/models/roomie.server.model');

app.use(bodyParser.json());

var roomieRoutes = require('./public/routes/roomie.server.routes');

roomieRoutes(app);

module.exports = app;
app.listen('3000');

Controller.js:

roomem.controller('roomieCtrl', ['$scope', '$http', '$location', '$log', function($scope, $http, $location, $log)
    {
        $scope.login = function()
        {
            console.log($scope.person.meta);  // This outputs the object correctly
            $http.get('/roomielogin',$scope.person.meta).success(function(response)
            {
                console.log(response);  // This returns null
            });
        }

    }]);

roomie.server.route.js:

module.exports = function(app)
{
    app.get('/roomielogin', function(req,res)
    {
        console.log(req.body);     // displays undefined
        console.log(req.headers);  // shows that the document can be json
        var name = req.body.username;
        var query  = Roomie.where({ 'meta.username': name });
        query.findOne(function(err, doc) {
          if (err) return console.error(err);
          console.log(doc);
          res.json(doc);
        });
    });
}

Я попробовал почти все и прочитал каждый пост там об этом. В большинстве случаев люди просто размещают свои app.use(bodyParser.json()); слишком поздно в их сценарии, но моя, кажется, в нужном месте. Все остальные запросы работают правильно. Это единственный проблемный. Я ценю любую помощь.

1 ответ

Вместо того чтобы делать GET если вы отправляете данные в теле, вам нужно сделать POST запрос.

Изменить -

$http.get('/roomielogin',$scope.person.meta)

к

$http.post('/roomielogin',$scope.person.meta)

&

app.get('/roomielogin', function(req,res)

к

app.post('/roomielogin', function(req,res)

Другие вопросы по тегам