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

    学习、交流、记录、编辑一部自己的知识库
  • 相关阅读:
    线程池中shutdown()和shutdownNow()方法的区别
    java.util.concurrent.TimeoutException: Idle timeout expired: 300000/300000 ms
    ConnectTimeout和ReadTimeout所代表的意义
    hive 查询注意问题
    java面试题之int和Integer的区别
    MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
    MySQL数据库使用mysqldump导出数据详解
    C++宏定义详解
    OTL调用存储过程/函数及注意事项
    linux自定义开机启动服务和chkconfig使用方法
  • 原文地址:https://www.cnblogs.com/z-one/p/6097960.html
Copyright © 2011-2022 走看看