Forms Express/nodejs中的URL编码形式(强大)
我正在使用node处理Express/Nodejs应用程序中的表单数据。我正在从邮递员Chrome分机发送邮政VAR。(顺便说一句,工程罚款) 如果我使用多部分/表单数据,一切都很好 如果我使用urlencoded,form.parse的回调永远不会触发,并阻止所有响应。它只是锁定post方法 必需:Forms Express/nodejs中的URL编码形式(强大),forms,node.js,rest,express,formidable,Forms,Node.js,Rest,Express,Formidable,我正在使用node处理Express/Nodejs应用程序中的表单数据。我正在从邮递员Chrome分机发送邮政VAR。(顺便说一句,工程罚款) 如果我使用多部分/表单数据,一切都很好 如果我使用urlencoded,form.parse的回调永远不会触发,并阻止所有响应。它只是锁定post方法 必需: var formidable = require('formidable'); var http = require('http'); var util = require('util'); a
var formidable = require('formidable');
var http = require('http');
var util = require('util');
app.post("/items",function(req,res){
var form = new formidable.IncomingForm();
form.parse(req,function(err,fields,files){
console.log(fields);
res.send("posted");
});
});
发布方法:
var formidable = require('formidable');
var http = require('http');
var util = require('util');
app.post("/items",function(req,res){
var form = new formidable.IncomingForm();
form.parse(req,function(err,fields,files){
console.log(fields);
res.send("posted");
});
});
快速设置:
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
app.use(express.cookieParser());
app.use(express.static(__dirname + '/public'));
app.use(express.cookieSession({secret:"wow_so_secret_such_code_gud_layers"}));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.methodOverride());
使用urlencoded有什么诀窍吗
可能很重要强>
{
domain: null,
_events: {},
_maxListeners: 10,
error: null,
ended: false,
maxFields: 1000,
maxFieldsSize: 2097152,
keepExtensions: false,
uploadDir: '/var/folders/pl/xnl7cxpj075chytyf_t7f1480000gn/T/',
encoding: 'utf-8',
headers: null,
type: null,
hash: false,
bytesReceived: null,
bytesExpected: null,
_parser: null,
_flushing: 0,
_fieldsSize: 0,
openedFiles: []
}
urlencoded和multipart都返回null。如果您使用
解析传入表单,则不需要使用multipart()
@vmx removed multipart line,但不起作用。再次相同。尝试添加这些:form.encoding='utf-8'
form.type='multipart'在执行form.parse()
html表单标记中添加enctype=“multipart/form data”
之前,请参见以下示例: