Forms 如何从服务器端的多个输入字段(Express.js/Node.js)中查找数据?
我有一个表单,其中包含多个描述文本字段、文件选择字段和跨域请求的提交按钮(CORS变体): 问题是,我无法从输入字段中找到数据:Forms 如何从服务器端的多个输入字段(Express.js/Node.js)中查找数据?,forms,node.js,file-upload,express,request,Forms,Node.js,File Upload,Express,Request,我有一个表单,其中包含多个描述文本字段、文件选择字段和跨域请求的提交按钮(CORS变体): 问题是,我无法从输入字段中找到数据:req.fields获取未定义的 如何从服务器上的req中找到数据(文本描述和文件) 更新: 太好了请求正文确实可以访问所有字段,但是: console.log(req.body) 印刷品: { description_title: 'aaa', description_author: 'bbb', description_tags: 'ccc', de
req.fields
获取未定义的
如何从服务器上的req
中找到数据(文本描述和文件)
更新: 太好了<代码>请求正文确实可以访问所有字段,但是:
console.log(req.body)
印刷品:
{ description_title: 'aaa',
description_author: 'bbb',
description_tags: 'ccc',
description_textarea: 'ddd',
upload: '' }
但是fileData
字段在哪里?我的意思是,我上传的带有描述的文件(前面提到的字段)在哪里
更新2:完成!
文件不在body属性中,而是在请求文件中
感谢亚当和安迪凡 您需要
req.body
,只要在路由之前的配置中有express.methodOverride()
在您的路径中尝试console.log(请求主体)代码>以查看您在那里得到的对象。对于路由参数,它是req.params
console.log(对象)当您试图找到要查找的对象及其包含的数据结构时,code>可能是您最好的朋友。正如Adam所说,如果您看到这两行代码
app.use(express.bodyParser());
app.use(express.methodOverride());
在express的app.js文件中,您可以读取以下字段
app.post('/upload/:id', function(req, res){
console.log(req.body.description_title);
console.log(req.body.description_author);
console.log(req.body.description_tags);
console.log(req.body.description_textarea);
console.log(req.files);
res.send("Done!");
});
您可以通过此链接阅读有关如何在express中处理文件的更多信息
app.use(express.bodyParser());
app.use(express.methodOverride());
app.post('/upload/:id', function(req, res){
console.log(req.body.description_title);
console.log(req.body.description_author);
console.log(req.body.description_tags);
console.log(req.body.description_textarea);
console.log(req.files);
res.send("Done!");
});