[英]Extracting of HTTP Post in Node Express doesn't work
我只想提取一个 http-Post 但我没有让它工作。 有人可以帮我吗? 该请求是由我的 HTML 前端使用 XMLHttpRequest() 发出的,后端是 node.js。 当我发送请求时,我只得到一个空的 Object {}
节点后端
var express = require('express');
const bodyParser = require('body-parser');
var app = express();
app.use(express.json());
app.post('/save_options', (req, res) => {
console.log(req.body);
res.sendStatus(200);
});
前端
let DATA_FRONTEND_OPTIONS = {
"test":"1"
}
function save_options_to_database() {
var do_it_async = true;
var request = new XMLHttpRequest();
request.onload = function () {
var status = request.status;
var data = request.responseText;
}
request.open("POST", "/save_options", do_it_async);
request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
//request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
request.send(JSON.stringify(DATA_FRONTEND_OPTIONS));
}
只需添加app.use(express.urlencoded());
到您的快速配置。
您必须为 POST 请求添加express.json()
和express.urlencoded()
。
例子:
app.use(express.json());
app.use(express.urlencoded());
因为在 POST 请求中,发送的数据是以某种类型的数据 object 的形式出现的,您必须告诉服务器接受或存储该类型的数据(对象),它包含在您的 POST 请求的正文中。
以上同样的解决方案也适用于 PUT 请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.