Javascript 正在从get方法中删除%20值
正在删除get方法中的%20Javascript 正在从get方法中删除%20值,javascript,android,get,Javascript,Android,Get,正在删除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("_"):[]; v
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
值
谢谢如果参数中有空格,则必须使用
%20
(URL编码)。您不能在GET
请求中传递空格
如果需要避免这种情况,请使用POST
只需使用以下方法:
alert("dataaaaaaaaaaaa " + decodeURIComponent(list) + "llll " );
这应该将%20
解码为空格
请看这里:据我所知,该行正在引入问题:
window.location="my_details.html?"+ c + "_";
这可以写成:
window.location="my_details.html?"+ c.toString() + "_";
JavaScript数组的默认.toString()
将使用分隔符,
,即
var str = ["1", "2", "3"].toString(); // 1,2,3
在您的示例中,使用的分隔符似乎是一个空格。通过更改数组.prototype
上.toString()
的默认行为,这一点可能已经改变。尝试使用以下方法:
window.location="my_details.html?"+ c.join(",") + "_";
最好使用replace()方法将%20
替换为空格
list.replace(“%20”和“)代码>没有空格。我不知道%20是如何添加到那里的。我不能用邮局。如何使用GET解决此问题?@Sneha,我不确定原因,但您可以使用unescape(text)
函数将%20
解码到实际空间中。希望能有所帮助。unescape
已被弃用。不要用它。@Quentin,哇!我不知道。谢谢!:)您希望列表
参数是什么<代码>1,2
?请不要链接到W3Schools。他们经常是错的。(在该页面的一半,他们忘记了“组件”部分,转而开始讨论整个URL,这不是一个很好的例子,但却成为了W3Schools最好的页面之一)。你有比他们更好的来源吗?事实上,我没有找到一个页面有更好的例子。MDN通常更好,尽管在这种情况下,它实际上是一个折腾:好吧,这只是一个存根。但我会在其他帖子中考虑MDN。我认为对于这种特殊情况,学校最适合。