我正在使用Jade模板引擎在JavaScript中创建一个Integer数组。
单击按钮时,我需要将该数组传递给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);
});
答案 0 :(得分:0)
您可以将数组作为字符串传递,例如:
${arr.join("-")}
然后只拆分数组
arr.split("-")
并在您的控制器中使用它
答案 1 :(得分:0)
据我所记得,URL中的所有参数都是一个字符串。 也许您可以将数组转换为形式为a1,a2,a3 ... an的字符串。 在服务器端进行拆分?