Как передать массив Integer из нефритового URL в экспресс-маршрут js - PullRequest
0 голосов
/ 15 марта 2019

Я создаю массив Integer в JavaScript, используя шаблонизатор Jade.

Мне нужно передать этот массив в экспресс-маршрут 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++;}

Я не могу передать массив в экспресс-маршрут JS.

Но я могу передать идентификатор один за другим, кто-нибудь может сказать, как передать весь массив за один раз.

Код, который я пробовал в 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);
});

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Насколько я помню, все параметры в URL являются строкой.может быть, вы можете привести массив к строке вида a1, a2, a3 ... an.А на стороне сервера сделать сплит?

0 голосов
/ 15 марта 2019

Вы можете передать свой массив в виде строки, например:

${arr.join("-")}

, затем просто разделить ваш массив

arr.split("-")

и использовать его в своем контроллере

...