在get方法中删除%20?
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
值?
由于
答案 0 :(得分:7)
只需使用:
alert("dataaaaaaaaaaaa " + decodeURIComponent(list) + "llll " );
这应解码%20
到space
看这里:http://www.w3schools.com/jsref/jsref_decodeURIComponent.asp
答案 1 :(得分:0)
如果参数中有空格,则需要%20
(URL编码)。您无法在GET
请求中传递空格。
如果您需要避免这种情况,请使用POST
。
答案 2 :(得分:0)
据我所知,问题正在这一行引入:
window.location="my_details.html?"+ c + "_";
这可以写成:
window.location="my_details.html?"+ c.toString() + "_";
JavaScript .toString()
的默认 Array
将使用,
的分隔符,即
var str = ["1", "2", "3"].toString(); // 1,2,3
在您的示例中,似乎使用的分隔符是空格。改变.toString()
上Array.prototype
的默认行为的内容会改变这种情况。请尝试使用以下内容:
window.location="my_details.html?"+ c.join(",") + "_";
答案 3 :(得分:0)
最好使用replace()方法将%20
替换为space
list.replace("%20"," ");