我的所有请求都可以正常工作,除了当我尝试向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/