Javascript NodeJS POST导致未定义

Javascript NodeJS POST导致未定义,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我的所有请求都能正常工作,除非我尝试将一个项添加到json元素数组中,否则每次都会返回未定义项 控制器: vm.addOptie = function () { var newOptie = {"optie": 'stuur',"prijs": 150}; $http({ method: 'post', url: 'http://localhost:3000/addGekozenOptie',

我的所有请求都能正常工作,除非我尝试将一个项添加到json元素数组中,否则每次都会返回未定义项

控制器:

    vm.addOptie = function () {
        var newOptie = {"optie": 'stuur',"prijs": 150};
        $http({
            method: 'post',
            url: 'http://localhost:3000/addGekozenOptie',
            headers: {
                'Content-Type': 'application/json'
            },
            data: newOptie
        }).then(function (gekozenOpties) {
            vm.gekozenOpties = gekozenOpties.data;
        }).catch(function (err) {
            alert('Er is een fout opgetreden: ' + err);
        })
    }
还有我的路由器/index.js

var router = require('express').Router();
var gekozenOpties = require('../public/data/opties.json');

router.post('/addGekozenOptie', function (req, res) {
    var op = req.body;
    gekozenOpties.push(op);
    res.json(gekozenOpties);
});

module.exports = router;

看到其他一切都很好(get/delete),非常沮丧。

您尝试过以下方法吗

//install body-parser
npm install body-parser



//Sample code within your app
var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// create application/json parser
var jsonParser = bodyParser.json()

// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })

// POST /login gets urlencoded bodies
app.post('/login', urlencodedParser, function (req, res) {
  if (!req.body) return res.sendStatus(400)
  res.send('welcome, ' + req.body.username)
})
bodyParser对象公开各种工厂来创建中间件。 所有中间件都将使用解析的 如果没有要解析的体(或 返回了错误消息)


你试过以下方法吗

//install body-parser
npm install body-parser



//Sample code within your app
var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// create application/json parser
var jsonParser = bodyParser.json()

// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })

// POST /login gets urlencoded bodies
app.post('/login', urlencodedParser, function (req, res) {
  if (!req.body) return res.sendStatus(400)
  res.send('welcome, ' + req.body.username)
})
bodyParser对象公开各种工厂来创建中间件。 所有中间件都将使用解析的 如果没有要解析的体(或 返回了错误消息)


您是否将
gekozenOpties.data
作为
未定义的
?事实并非如此clear@RaRrequest.body返回您所需的routerId中未定义的('body-parser')?是的,如果我没记错的话,您需要一些用于body解析器的中间件。看看这个:您是否将
gekozenOpties.data
作为
未定义的
?事实并非如此clear@RaRrequest.body返回您所需的routerId中未定义的('body-parser')?是的,如果我没记错的话,您需要一些用于body解析器的中间件。看一看这个:这就成功了,非常感谢。迫不及待地想处理nodejs/angular及其无用的错误消息。这成功了,非常感谢。迫不及待地想处理nodejs/angular及其无用的错误消息。