【问题标题】:How to pass array of Integer from jade URL to express js route如何从玉 URL 传递整数数组来表达 js 路由
【发布时间】:2019-03-15 23:00:32
【问题描述】:

我正在使用 Jade 模板引擎在 JavaScript 中创建一个整数数组。

单击按钮时,我需要将该数组传递给 Express js 路由。

我试过下面的代码:

翡翠档案:

 //Passing the ID to function cap one by one.
td 
 input(type="checkbox", name="delete" onclick=`cap(${item.IssueID})`)
 //here i need to pass the array--> (arr) to the Express route.
 td 
   a(href=`/tracker/deleteIssues/${arr}`) Delete
    td 
      script.
      var b=1;
      var arr=[];
      function cap(id) {for(var i=b;i<b+1;i++){arr.push(id);} b++;}

我无法将数组传递给 Express js 路由。

但是我可以一个一个地传递 id 任何人都可以告诉如何一次性传递整个数组。

我在 Express js 中尝试的代码如下:

//trying to pass array here in route                                    
router.get('/deleteIssues/:arr', function(req, res) {
  console.log("deleting");
  var Issue = req.params.arr[0];
  console.log(Issue);
});

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    您可以将数组作为字符串传递,例如:

    ${arr.join("-")}
    

    然后拆分你的数组

    arr.split("-")
    

    并在你的控制器中使用它

    【讨论】:

    • 谢谢,我尝试了您提供的解决方案,但它不起作用。我尝试使用 --> "-" 和其他一些特殊字符加入数组。但它不起作用。我尝试在警报框中输出,即使在使用加入后我也看到了。输出是--> 1,2,3,4(这些是我在数组中传递的id)
    【解决方案2】:

    据我所知,URL 中的所有参数都是字符串。 也许您可以将数组转换为形式为 a1、a2、a3 ... an 的字符串。 并在服务器端进行拆分?

    【讨论】:

    • 是的,@isotropic_cat 兄弟,您将数组拆分为字符串是正确的,但我无法将数组传递给 express 路由。这就是为什么我无法拆分并进一步使用它。你知道吗如何传递数组?这样我可以在拆分后进一步使用它?谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多