gpt4 book ai didi

javascript - Node.js 应用程序中的 JSON 正文始终为空

转载 作者:行者123 更新时间:2023-12-03 09:12:15 25 4
gpt4 key购买 nike

我正在使用 Node.js 构建一个简单的应用程序。在客户端,我使用 Ajax 向服务器发送一些 JSON 数据,代码如下:

var data = {};
data.title = "title";
data.message = "message";
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: '/myresult',
processData: false,
success: function (data) {
console.log('success');
console.log(JSON.stringify(data));
}
});

处理该请求的服务器端代码是:

app.post('/myresult', function (req, res) {
var obj = {};
console.log('body: ' + JSON.stringify(req.body));
res.send(req.body);
});

但是控制台日志将响应 bode 打印为空,即 body: {}

为什么body值是空的,如何用标题和消息填充它?

最佳答案

Express得到body-parser的善意帮助。使用它作为中间件来获取实际的正文内容:

app.use(require('body-parser').urlencoded({extended: true}));

然后保留您的代码:

app.post('/myresult', function(req, res) {
var obj = {};
console.log('body: ' + JSON.stringify(req.body));
res.send(req.body);
});

我希望这对您有用,但请注意 bodyParser.json()同样,这可能更适合您的需求。

<小时/>

此外,当前发生的情况是,由于您有 processData: false,它基本上会发送以下内容:({"command":"on"}).toString() 这是 [object Object] 并且您的正文解析器失败。尝试完全删除 processData 标志。

关于javascript - Node.js 应用程序中的 JSON 正文始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32046499/

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