如何form[method="post"]
从Node.js中的HTTP POST
方法提取表单数据()和文件上传?
我已经阅读了文档,谷歌搜索并没有发现任何东西。
function (request, response) {
//request.post????
}
有图书馆还是黑客?
如何form[method="post"]
从Node.js中的HTTP POST
方法提取表单数据()和文件上传?
我已经阅读了文档,谷歌搜索并没有发现任何东西。
function (request, response) {
//request.post????
}
有图书馆还是黑客?
限制POST大小,避免淹没您的节点应用程序。有一个很棒的原始模块,适用于快速连接和连接,可以帮助您通过大小和长度来限制请求。
快递v4.17.0
app.use(express.urlencoded( {extended: true} ))
而且,如果您不想使用Express等整个框架,但还需要其他形式的表单,包括上载,那么福尔马林可能是一个不错的选择。
它在Node.js模块中列出
如果您不想将数据与data
回调一起分块,则可以始终使用如下readable
回调:
// Read Body when Available
request.on("readable", function(){
request.body = '';
while (null !== (request.body += request.read())){}
});
// Do something with it
request.on("end", function(){
request.body //-> POST Parameters as String
});
这种方法修改了传入的请求,但是一旦您完成响应,该请求就会被垃圾回收,因此这不会成为问题。
如果您担心身材庞大,则一种高级方法是首先检查身体大小。
有多种方法可以做到这一点。但是,我知道最快的方法是将Express.js库与body-parser一起使用。
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.urlencoded({extended : true}));
app.post("/pathpostdataissentto", function(request, response) {
console.log(request.body);
//Or
console.log(request.body.fieldName);
});
app.listen(8080);
这可以用于字符串,但是如果POST数据包含JSON数组,则可以将bodyParser.urlencoded更改为bodyParser.json。
更多信息:http : //www.kompulsa.com/how-to-accept-and-parse-post-requests-in-node-js/
如果使用Express.js,则必须先添加中间件bodyParser,然后才能访问req.body:
app.use(express.bodyParser());
那你可以要求
req.body.user
如果您使用node-formidable,可以按照以下方法进行操作:
var formidable = require("formidable");
var form = new formidable.IncomingForm();
form.parse(request, function (err, fields) {
console.log(fields.parameter1);
console.log(fields.parameter2);
// ...
});
如果希望表单数据在req.body中可用,则需要使用bodyParser()。body-parser解析您的请求,并将其转换为一种格式,您可以从中轻松提取可能需要的相关信息。
例如,假设您在前端有一个注册表单。您正在填充它,并请求服务器将详细信息保存在某处。
如果使用body-parser,从请求中提取用户名和密码将变得非常简单。
……………………………………………………。