0

フォーム送信後に 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' }
4

1 に答える 1

1

これは、クエリ文字列を持たない 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"

参照

于 2013-08-12T18:01:00.547 に答える