I am trying to send querystring parameter as below but i think that using comma in querystring is not valid so what is better alternative to comma separator for path parameter?
<a href="/?path=1,2,3"></a>
I don't want to send like <a href="/?path=1&path=2&path=3"></a>
which can be quite long.
You can use %2C
, wich is the url-encoded value of ,
.
The comma is allowed, also in its un-encoded form, as it is a reserved character.
Have a look at this RFC section: RFC 3986 - 2.2. Reserved Characters
As I understad this, it just depends on how your server handles URLs that contain a comma. Give it a try and find out.
You could use the escaped (or percent-encoded if we're being pedantic) value of ',', or an unreserved character as per RFC 3986 (- _ . ~).
You can send it simply, i use lodash to collect select product 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
If you are sending integers, use spaces as a separator.
You could use pipes "|" as a delimiter, but you're going to have to process it on the server side. Not sure it's worth the hassle though.