gpt4 book ai didi

javascript - 无法从 Angular 应用程序获取 NodeJS 中的 POST 数据

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:28 25 4
gpt4 key购买 nike

我无法从 Angular 应用程序创建的 POST 方法中获取参数。我尝试在这里寻找答案,甚至复制/粘贴一些示例,但似乎没有任何效果。

Node 代码:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static('public_html'));

app.post('/test', function (request, response) {
console.log(request.body.name)
response.status(201).json(request.body.name);
});

app.listen(8787,function() {
console.log('Listening on 8787');
});

Angular 代码:

$scope.postData = 函数() {

    $http.post('/test',{name: $scope.name}).success(function(data,status) {
console.log('SUCCESS: ' + status);
console.log(data);
}).error(function(error) {
console.log('ERROR');
console.log(data);
})
}

我可以在开发者工具的网络面板上看到数据已发送,甚至按预期收到了 201 的 http 代码,但没有收到回复。在 NodeJS 的 post 路由的 console.log() 中,我也未定义。似乎主体解析器不起作用,或者我错过了其他东西。

最佳答案

Angular $http.post 函数将发送 JSON 正文而不是 urlencoded 正文。

添加此中间件来解析 JSON 对象:

app.use(bodyParser.json());

关于javascript - 无法从 Angular 应用程序获取 NodeJS 中的 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com