通过JavaScript解析查询参数

时间:2016-05-13 14:33:21

标签: javascript jquery

我在js中有一个函数解析一个url并创建一个(paramName,value)的映射

代码如下:

var search = location.search.substring(1);
var data = {}
if(search!="")
{
    var urlParams = JSON.parse('{"' + decodeURI(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}');
    for (var key in urlParams) {
        data[key] = urlParams[key];
    }
}

现在这对于一个简单的网址来说效果很好 www.google.com?param1=2&param4=hello

但它不适用于加密的网址 www.google.com?param1=XDTY-300Hbc=&param4=hello

这里 param1 = XDTY-300Hbc = 最后包含一个=。 请帮忙

1 个答案:

答案 0 :(得分:1)

试试这个:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form id="frmTest">
  <input type="text" name="price_min">Min
  <input type="text" name="price_max">Max
</form>

<button id="btn">Test Serialize</button>