Forms Node Express-表单提交后的空查询
我想在提交表格后发送一个url。 我有简单的表格: 提交后,执行此代码Forms Node Express-表单提交后的空查询,forms,node.js,express,Forms,Node.js,Express,我想在提交表格后发送一个url。 我有简单的表格: 提交后,执行此代码 exports.create = function(req, res){ var url = require('url'); var url_parts = url.parse(req.url, true); console.log(url_parts); 我的问题是为什么控制台显示空查询 { protocol: null, slashes: null, auth: null, hos
exports.create = function(req, res){
var url = require('url');
var url_parts = url.parse(req.url, true);
console.log(url_parts);
我的问题是为什么控制台显示空查询
{ protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '',
query: {},
pathname: '/recipe/create',
path: '/recipe/create',
href: '/recipe/create' }
发生这种情况是因为您发布到的URL没有查询字符串-
/recipe/create
此外,您似乎正在使用Express,它将为您提供已解析的当前查询字符串:
// GET /search?q=tobi+ferret
req.query.q
// => "tobi ferret"
// GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
req.query.order
// => "desc"
req.query.shoe.color
// => "blue"
req.query.shoe.type
// => "converse"
感谢您的回复,但有没有办法截取提交表格中的数据?表格数据将在“是”下提供,我在发表评论后意识到:)。我的观点是,当我想向表单中动态添加字段时,这并不容易,您可以使用
Object.keys(req.query)
返回对象上所有可用属性的数组。不需要了解他们。您只需要在数组中循环。它看起来像这样:`Object.keys(req.query).forEach(query=>{console.log(req.query[query]);}
// GET /search?q=tobi+ferret
req.query.q
// => "tobi ferret"
// GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
req.query.order
// => "desc"
req.query.shoe.color
// => "blue"
req.query.shoe.type
// => "converse"