用于GET queryString的{jquery encode array}

时间:2017-10-20 15:22:42

标签: javascript c# jquery asp.net

我在JS中有一系列id,就像这样

var ids = [123,456,789]

我试图将它们作为GET请求中的查询字符串的一部分传递给.NET API应用程序。据我所知,.NET需要查询字符串类似于endpoint/ids=123&ids=345&ids=789或类似。

我已尝试使用$.param({ ids: ids } ),但结果为ids%5B%5D=123&ids%5B%5D=456&ids%5B%5D=789

我该怎么做?

这是我使用它的html链接。我使用knockout databindingobservables

<a class="btn btn-sm btn-default" data-bind="attr:{'href':'bill/' + bills().map((data) => {return data.billId;}), 'target':'_blank'}">
  <i class="fa fa-print"></i> 
  Click
</a>

目前正在返回 bill/123,456,789

1 个答案:

答案 0 :(得分:0)

您可以使用

ids.map(ids=> `ids=${id}`).join('&')

创建一个字符串,其中ids = 123&amp; ids = 345&amp; ids = 789。 Aftwards你可以直接将concattedIds添加到你的网址。

会是这样的:

<a class="btn btn-sm btn-default" data-bind="attr:{'href':'bill/' + bills().map((data) => `ids=${data.billId}`).join('&'), 'target':'_blank'}">
  <i class="fa fa-print"></i> 
  Click
</a>