我的所有请求都可以正常工作,除了当我尝试向json元素数组中添加项目时,每次都会返回undefined。

控制器:

    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);
        })
    }


和我的router / 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;


看到其他所有东西都正常工作(获取/删除),这非常令人沮丧。

最佳答案

您是否尝试过以下方法?

//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对象公开了各种工厂来创建中间件。
  所有中间件都将使用已解析的填充req.body属性
  正文,如果没有要解析的正文(或
  错误返回)。

关于javascript - NodeJS POST结果未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42004992/

10-12 01:55