3

我在 jquery 中使用查询字符串

获取我正在使用的 URL 值

    function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
    hash = hashes[i].split('=');
    vars.push(hash[0]);
    vars[hash[0]] = hash[1];
}
return vars;

在这里,当我将查询字符串传递给 URL 时,它给出的空格为 %20,当我从 URL 获取值时,我将名称的值作为 Name%20Name 格式

我应该怎么做才能用空格作为分隔符?

4

3 回答 3

2

您需要decodeURIComponent()Javascript 函数:

decodeURIComponent("Name%20Name") // "Name Name"

解码以前由 encodeURIComponent 或类似例程创建的统一资源标识符 (URI) 组件。

有关详细信息,请参阅文档

于 2013-07-03T09:53:13.060 回答
1

使用原生 Javascript 函数unescape,所有主流浏览器都支持:

var a = "Name%20Name";
window.unescape(a);
于 2013-07-03T09:51:50.280 回答
0

您可以使用将任何编码的网址转换为“正常”表示decodeURIComponent();

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(decodeURIComponent(hash[0]));
        vars[hash[0]] = hash[1];
    }
    return vars;
}
于 2013-07-03T09:54:33.787 回答