我想在表单提交后解析url。 我有简单的形式:
form(method='post', action='/recipe/create') hr div div.input.text label(for='recipeTitle') Tytuł przepisu: input(type='text', name='recipeTitle', id='recipeTitle') div.input.text label(for='photoFileName') Nazwa zdjęcia: input(type='text', name='photoFileName', id='photoFileName')
提交后,此代码将被执行。
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' }
答案 0 :(得分:1)
这是因为您要发布到没有查询字符串的网址/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"