gpt4 book ai didi

javascript - 如何仅为 POST 请求创建 Node 服务器

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:54 25 4
gpt4 key购买 nike

我只需要创建一个 Node 服务器来接收 POST 请求。有了请求正文中的信息,我需要创建一个系统调用。我该怎么做?到目前为止,我只有:

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

app.use(bodyParser);
app.post('/', function(req, res){
console.log('POST /');
console.dir(req.body);
});

port = 3000;
app.listen(port);
console.log('Listening at http://localhost:' + port)

但是,当我向 127.0.0.1:3000 发出 POST 请求时,正文未定义。

var request = require('请求');

request.post(
'127.0.0.1:3000',
{ form: { "user": "asdf" } },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);

最佳答案

这里有一个中间件问题。 express.bodyparser() 中间件在 Express 4.x 中已弃用。这意味着您应该使用独立的 bodyparser 中间件。

奇怪的是,您通过以下方式导入了正确的中间件:

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

但是,您应该以不同的方式使用它。看看the docs和给出的例子:

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

app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.use(multer()); // for parsing multipart/form-data

app.post('/', function (req, res) {
console.log(req.body);
res.json(req.body);
})

关于javascript - 如何仅为 POST 请求创建 Node 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31460039/

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