节点通过 body-parser 获取发布的变量
Node get posted variables via body-parser
我试图在节点应用程序中检索 posted 变量。我正在使用 Postman 表单数据(就像我在许多其他 API 测试情况下所做的那样)向我的节点应用程序 post 发送消息。但是当我 console.log
和 request.body
时,我得到一个空对象。这是我的整个节点应用程序:
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/foo',function(request,response){
console.log(request.body);
});
app.listen(3000, function(){
console.log('listening on *:3000');
});
post输入一些数据后,我的控制台显示如下:
listening on *:3000
{}
这是我的 package.json:
{
"name": "api",
"version": "0.0.1",
"description": "api",
"dependencies": {
"express": "^4.12.4",
"socket.io": "^1.3.5",
"body-parser": "~1.12.0"
}
}
我想我想继续使用正文解析器,因为我计划用 json 数据使它成为 API。该应用程序加载正常,没有错误。我错过了什么?
当我 post 使用 postman 和你的代码将内容类型设置为 application/x-www-form-urlencoded
时,我得到了预期的控制台输出。 npm-bodyparser
不处理 multipart/form-data
,这是您 posting 的内容。
要解析 multipart/form-data
,请使用 multer
或 busboy
。
经过一些测试,我发现 body-parser 无法解析 multipart/form-data
,正如他们在自述文件中所述,这是 Postman 的默认编码。
要解析此格式,您可以使用:(再次来自他们的自述文件)
如果只是为了调试目的,请将 Postman 设置为发送:
x-www-form-encoded
通过选中相应的复选框(见图)
或原始模式,注意将mime头设置为application/json
否则解析器将忽略它(见图)
我试图在节点应用程序中检索 posted 变量。我正在使用 Postman 表单数据(就像我在许多其他 API 测试情况下所做的那样)向我的节点应用程序 post 发送消息。但是当我 console.log
和 request.body
时,我得到一个空对象。这是我的整个节点应用程序:
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.post('/foo',function(request,response){
console.log(request.body);
});
app.listen(3000, function(){
console.log('listening on *:3000');
});
post输入一些数据后,我的控制台显示如下:
listening on *:3000
{}
这是我的 package.json:
{
"name": "api",
"version": "0.0.1",
"description": "api",
"dependencies": {
"express": "^4.12.4",
"socket.io": "^1.3.5",
"body-parser": "~1.12.0"
}
}
我想我想继续使用正文解析器,因为我计划用 json 数据使它成为 API。该应用程序加载正常,没有错误。我错过了什么?
当我 post 使用 postman 和你的代码将内容类型设置为 application/x-www-form-urlencoded
时,我得到了预期的控制台输出。 npm-bodyparser
不处理 multipart/form-data
,这是您 posting 的内容。
要解析 multipart/form-data
,请使用 multer
或 busboy
。
经过一些测试,我发现 body-parser 无法解析 multipart/form-data
,正如他们在自述文件中所述,这是 Postman 的默认编码。
要解析此格式,您可以使用:(再次来自他们的自述文件)
如果只是为了调试目的,请将 Postman 设置为发送:
x-www-form-encoded
通过选中相应的复选框(见图)
或原始模式,注意将mime头设置为application/json
否则解析器将忽略它(见图)