javascript 分析url处理搜索参数

搜索是我们经常做的一个功能,有的搜索需要处理很多的参数,例如:

商城中的商品可以根据商品分类、品牌、颜色、价格等等条件来搜索,这些搜索条件还有一个定的关系。

问题来了,我们怎么记录所有的搜索条件呢?

我们可以用cookie用session,但是个人觉得用这些方法都不好(曾经被这种记录参数的方式折磨过)。

我觉得用url传递参数最好处理,我们可以定义一个javascript函数专门来处理url中的参数,处理完参数以后再跳转到搜索页面。

页面中所有的搜索都可以调用这个函数,比较方便。

下面是javascript代码,大家可以参考一下:

//k参数名、v参数值、url地址
function search(k, v, url){
    //判断是否传递url
    if(url == undefined) url = window.location.href;
    //判断是否有?
    if(url.indexOf('?') == -1) url += '?';
    //参数中无k
    if(url.indexOf(k + '=') == -1){
        //不是第一个参数
        if(url.indexOf('=') != -1) url += '&';
        url += k + '=' + v;
    }else{
        var urls = url.split(k + '=');
        newUrl = urls[0] + k + '=';
        newUrl += v;
        //参数不是最后一个
        if(urls[1].indexOf('=') != -1){
            var start = urls[1].indexOf('&');
            newUrl += urls[1].substring(start, urls[1].length);
        }
        url = newUrl;
    }
    window.location.href = url;
}

注:可能不能适用所有的情况,可以稍加修改,也为读者提供一种思路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值