Удаление значения% 20 из метода get - PullRequest
6 голосов
/ 19 декабря 2011

Удаление% 20 в методе get?

var c=new Array(a);    
(eg: a={"1","2"})  window.location="my_details.html?"+  c + "_";  

и в my_details.html:

var q=window.location.search;    
alert("qqqqqqqqqqqqq " + q);   
var arrayList = (q)? q.substring(1).split("_"):[];      
var list=new Array(arrayList);    
alert("dataaaaaaaaaaaa " +  list  + "llll " ); 

и в "списке" его меня не видно "1%202";

Как я могу удалить это %20 =space значение ??

Спасибо

Ответы [ 4 ]

7 голосов
/ 19 декабря 2011

просто используйте это:

alert("dataaaaaaaaaaaa " +  decodeURIComponent(list)  + "llll " );

Это должно расшифровать от %20 до space

смотрите здесь: http://www.w3schools.com/jsref/jsref_decodeURIComponent.asp

0 голосов
/ 11 февраля 2015

Лучше использовать метод replace () для замены %20 на space

list.replace("%20"," ");

0 голосов
/ 19 декабря 2011

Насколько я вижу, проблема представлена ​​в этой строке:

window.location="my_details.html?"+  c + "_";

Это может быть записано как:

window.location="my_details.html?"+  c.toString() + "_";

по умолчанию .toString() JavaScript Array будет использовать разделитель ,, т.е.

var str = ["1", "2", "3"].toString(); // 1,2,3

В вашем примере кажется, что используемый разделитель является пробелом.Это могло бы измениться, изменив поведение по умолчанию .toString() на Array.prototype.Попробуйте использовать следующее:

window.location="my_details.html?"+  c.join(",") + "_";
0 голосов
/ 19 декабря 2011

Если в параметрах есть пробел, то необходимо %20 (кодировка URL).Вы не можете пропустить пробел в запросе GET.

Если вам нужно этого избежать, используйте POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...