我正在尝试根据通过GET设置的URL中的变量在div中设置文本。我只能这样做,因为这是一个JavaScript分配所以没有服务器。正如URL所做的那样,字符串中的空格已被+
替换。
str.replace("+"," ")
绝对没有。我在这个网站上发现了一些使用简单/+/g
的其他链接,但在我的代码中,它使我的整个输出消失。
初始实施(已经用电子邮件空间替换%20): http://imgur.com/TaJo6SA
使用str.replace代码: http://imgur.com/RgmcjnF
这是代码(在css技巧中找到的函数):
function getQueryVariable(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
str = getQueryVariable("address");
var address = address.replace(/+/g," ");
document.getElementById('address').innerHTML = "Your postal address: " + address;
答案 0 :(得分:0)
我修改你的功能:
function getQueryVariable(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){
return decodeURIComponent(pair[1].replace(/\+/g, '%20'));
}
}
return(false);
}
现在它返回已解析的数据(没有任何urldecoded部分)。