我正在尝试发送querystring参数,如下所示,但我认为在查询字符串中使用逗号无效,那么路径参数的逗号分隔符有什么更好的选择?
<a href="/?path=1,2,3"></a>
我不想像<a href="/?path=1&path=2&path=3"></a>
那样发送很长的时间。
答案 0 :(得分:11)
您可以使用%2C
,它是,
的网址编码值。
答案 1 :(得分:7)
允许逗号,也是未编码的形式,因为它是保留字符。
查看此RFC部分:RFC 3986 - 2.2. Reserved Characters
正如我所说,它只取决于您的服务器如何处理包含逗号的URL。试试看吧。
答案 2 :(得分:3)
根据RFC 3986( - _。〜),您可以使用','或非保留字符的转义(或百分比编码,如果我们是迂腐的)。
答案 3 :(得分:0)
您可以简单地发送,我使用lodash收集选择的产品ID
vm.saleStartDate = vm.saleDateRange.startDate.toISOString();
vm.saleEndDate = vm.saleDateRange.endDate.toISOString();
vm.productIds = _.map(vm.selectedProducts, 'id').join(',');
vm.iFrameURL = host + '/Reports/MonthWiseAvgSalesViewer.aspx?id=MonthWiseAvgSalesReport.rdlc&salesSD=' + vm.saleStartDate + '&salesED=' + vm.saleEndDate +
'&prIds=' + vm.productIds
答案 4 :(得分:0)
如果要发送整数,请使用空格作为分隔符。
答案 5 :(得分:-1)
你可以使用管道“|”作为分隔符,但您将不得不在服务器端处理它。不确定这值得麻烦。