2016-06-12 10 views
-1

JadeとExpressでNodeJSで初めてのWebサイトを作成しようとしています。今私はLipinskyと呼ばれるページにフォームを作成したいのですが、入力を変数にどのように格納できるのか分かりません。 私はconsole.logging resとreqを試してみました。本体がない大きなオブジェクトなので、req.bodyは定義されていません。 フォームをレンダリングし、取得するための私のapp.jsは、次のようになります。JadeでnodeJSのフォームデータを取得

app.get('/lipinsky', function (req, res, next) { 
    try { 
    let html = lipinsky({ title: 'Lipinsky RO5' }) 
    res.send(html) 
    } catch (e) { 
    next(e) 
    } 
}) 

app.post('/lipinsky', function (req, res) { 
    let html = lipinsky({ title: 'Lipinsky RO5' }) 
    res.send(html); 
}); 

そして、私のlipinsky.jadeがある:私は右のそれをやっている場合

extend default 

block content 
    h3. 
    Lipinsky rule of five calculator 

    p. 
    Calculate Lipinsky RO5 for molecules with a known CAS registry number. 
    div 
    form(action='/lipinsky',method='post') 
    div(data-role='fieldcontain') 
     fieldset(data-role='controlgroup') 
     label(for='name') Molecule name 
      input(id='name',type='text',value='',name='name') 

だから私は知らないし、入力したフォームデータをapp.jsの変数に取得する方法

答えて

2

何がlipinsky()ですか?
1.とにかく、res.render({ title: "foo" })を使用してテンプレートをレンダリングして返します。
2.あなたは玉の中にtitleを使用していません。

doctype html 
html(lang="en") 
    body 
     h3= title 

3.私はミドルウェアを追加していないと思います。だから、next(e)に電話するべきではありません。

app.get('/lipinsky', function (req, res) { 
    res.render("./views/lipinsky", {title: "foo"}); 
}) 
+0

ROFLそのlipinsky() –

+0

私は今どのように無知なのかをご理解いただきありがとうございます。私は再びチュートリアルをよく見ていなければなりません。 しかし、 '' 'req.body'''を記録しようとすると、まだ未定義が返されます。 関数であるかのように呼び出すlipinskyは、http://www.clock.co.uk/blog/a-simple-website-in-node-js-2016-editionから来ています。なぜ彼らが行うのかわかりませんそれ。 – bdbdbd

+0

実際に投稿したことを確認してください。私は、サーバーをテストするためにchrome extensionというPostmanを使用します。ところで、私はページで 'lipinsky'を見つけることができません。@ bdbdbd – Zen

関連する問題