2013-08-12 4 views
0

Я хотел бы разобрать url после формы submit. У меня есть простой вид:Node Express - пустой запрос после формы submit

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' } 

ответ

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" 

Reference

+0

Спасибо за реагировать, но есть ли способ, чтобы перехватывать данные с занесена форме? – Seven

+0

Данные формы будут доступны в ['req.body'] (http://expressjs.com/api.html#req.body) – gustavohenke

+0

Да, я понял, что после моего комментария :). Я хочу сказать, что когда я хотел бы добавить динамические поля в форму, это не так просто – Seven

Смежные вопросы