如何在节点js中传递变量?

时间:2018-09-03 09:14:40

标签: node.js

在这里,我要传递存储在id中的m,请帮助我如何传递id。并使用该id调用该页面。我正在将嵌入式JavaScript模板用作视图引擎,请提供帮助。

   $.each(products, function(index, product ) {

            var m= product['_id'];
            //document.write(alert(m));
            string += '<tr><td>'+(index+1)+'</td><td>'+product['_id']+'</td><td>'+product['name']+'</td><td>'+product['category']+'</td><td>'+product['price']+'</td><td>'+product['manufacturer']+'</td><td><a href="/profile/dashboard/update/{{m}}">Update</a> </td></tr>';
        });
  

路线代码

 app.get('/profile/dashboard/update/:m',function (req,res,next) {
       console.log("hi"+req.params.m); 
      });

3 个答案:

答案 0 :(得分:0)

您需要使用引号``作为模板字符串;

例如:

var m = 1;
var string = `id: ${m}`

答案 1 :(得分:0)

`... <a href=/profile/dashboard/update/${product['id']}>Update</a> </td></tr>`

您需要将整个 string 包装在反引号中,并按照上面的说明传递变量( $ {var_name} )。有关更多信息,请参见this answer。这不是NodeJS问题,更多是Javascript问题本身。

答案 2 :(得分:0)

string += '<tr><td>'+(index+1)+'</td><td>'+product['_id']+'</td><td>'+product['name']+'</td><td>'+product['category']+'</td><td>'+product['price']+'</td><td>'+product['manufacturer']+'</td><td><a href="profile/dashboard/update/'+id+'">Update</a> </td></tr>';

它将起作用