zoukankan      html  css  js  c++  java
  • js解析网址获取需要的数据

    /**
     * 获取地址栏内容,返回pathnamearrneed对象
     * @param {Object} len 从第几位开始获取你需要的值
     * @param {Boolean} true 返回的是截取后的数组
     */
    function myLocationId(len,boolean) {    
        var pathnamearr = location.pathname.split('/');
        var length = pathnamearr.length;
        pathnamearr[length - 1] = pathnamearr[length - 1].replace('.html', '');
        if(boolean){                
            return pathnamearr;
        }
        len = len ? len : 3;
        var pathnamearrneed = {};
        for(var i = len, arrlenght = length; i < arrlenght; i += 2) {
            pathnamearrneed[pathnamearr[i]] = pathnamearr[i + 1];
        }
        return pathnamearrneed;
    }

      不知道有没有宝宝们遇到过这样的问题,后台哥哥说使用 http://域名/网页路径.html?id=1&&cid=1 使用search的地址形式太丑了,要改成 http://域名/网页路径/id/1.html 的形式。

      这时候,宝宝需要用到网页路径传过来的信息,例如 id 什么的,就特别费神,所以就写了个这样的方法,来解析网址,获取需要的内容。

      下面写一下这个函数的意思,以及如何使用:

        1、宝宝在自家公司遇到需要解析的网站路径是这样的  http://域名/网页父级路径/网页子级路径/一级分类/一级分类id/二级分类/二级分类id.html

        2、而宝宝我需要用到的内容是 一级分类id 和 二级分类id ,这时候我们所熟知的 location对象的属性就不能满足需求了,就需要自己进行解析

        3、使用 location.pathname 获取的内容是 /一级分类/一级分类id/二级分类/二级分类id.html  

        4、通过 split('/') 将其分隔成数组,结果为 ['','一级分类','一级分类id’,'二级分类','二级分类id.html'] 

        5、说道这里我想看到宝宝博客的童靴们都明白了吧,该方法需要传参的 length 就代表着 我需要的是 从数组第几项开始是我需要的内容,因为宝宝自家公司一般都是从第三项开始,所以不传的话 默认是从第三位开始

        6、最终得到的结果是一个对象  

            {

              '一级分类':'一级分类id',

              '二级分类':'二级分类id'

            }

    修改1:

      增加第二个参数,当传入 true 时 返回的是路径内容数组。

    ps:这是本宝宝的第一篇博客,也是记录自己的成长历程,如果有更好的办法来解决这个问题,欢迎交流.....康撒米达~~古玛我~~

    学习、交流、记录、编辑一部自己的知识库
  • 相关阅读:
    [luoguP2463] [SDOI2008]Sandy的卡片(后缀数组 + st表)
    [luoguP3302] [SDOI2013]森林(主席树 + 启发式合并 + lca)
    [luoguP2526] [SHOI2001]小狗散步(二分图最大匹配)
    [luoguP3231] [HNOI2013]消毒(最小点覆盖 + 状压)
    [luoguP1963] [NOI2009]变换序列(二分图最大匹配)
    [luoguP1129] [ZJOI2007]矩阵游戏(二分图最大匹配)
    [luoguP1640] [SCOI2010]连续攻击游戏(二分图最大匹配)
    [luoguP2569] [SCOI2010]股票交易(DP + 单调队列)
    SICP:2,4 序对的过程性表示方法
    SICP:1.43重复调用函数
  • 原文地址:https://www.cnblogs.com/z-one/p/6097960.html
Copyright © 2011-2022 走看看