2017-02-21 3 views
-1

ルートに変数の値からキー名を渡すが、それはいつも私undefinedExpress.jsは、私が動的にルートでキー名を渡すためにしようとしている

に与えている。これは、私が試してみましたコードであるだけに見えることはできません正しく理解する。私が合格しようとしている動的な名前は、私が

res.render(pagetorender, { test123: result.rows }) 

を渡す必要があればそれは

var arrayname = "test123"; 
res.render(pagetorender, { arrayname: result.rows }) 
+0

見つかりソリューション:そうキーの変更があり、この

router.get('/searchterm/table/:table/term/:term/fields/:fields/render/:render/arrayname/:arrayname', function (req, res, next) { var pagetorender = req.param("render"); var arrayname = req.param("arrayname"); db.query('select * from ' + req.params.table + ' where ' + strfields, function (err, result) { if (err) { res.send(err) } else { console.log(arrayname) console.log(result.rows) res.render(pagetorender, { arrayname: result.rows }) } }) }) 

のようなものを試してみてください。角括弧 '[arrayname]'にarraynameを入れてください。 –

答えて

0

ようになり、例えば、パラメータ

router.get('/searchterm/table/:table/term/:term/fields/:fields/render/:render/arrayname/:arrayname', function (req, res, next) { 

    var pagetorender = req.params.render; 
    var arrayname = req.params.arrayname; 

    db.query('select * from ' + req.params.table + ' where ' + strfields, function (err, result) { 
     if (err) { 
       res.send(err) 
      } else { 
       console.log(arrayname) 
       console.log(result.rows) 
       res.render(pagetorender, { arrayname: result.rows })  
      } 
    }) 
}) 

に基づいて変更されるarraynameですreq.param( "param name")でパラメータを取得できます。

var pagetorender = req.param("render"); 
var arrayname = req.param("arrayname"); 
+0

いいえ。まだ動作しません。 –

関連する問題