簡體   English   中英

app.get req.body未定義

[英]app.get req.body undefined

我是一個MEAN stack newb,遇到路由問題,大概是解析問題:以下代碼為我提供了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()); 他們的劇本太晚了,但我的似乎在正確的地方。 所有其他查詢均正常運行。 這是唯一有問題的。 感謝您的幫助。

如果要在正文中發送數據,則無需執行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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM