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

    学习、交流、记录、编辑一部自己的知识库
  • 相关阅读:
    【转并修改】VS2013 MVC Web项目使用内置的IISExpress支持局域网内部机器(手机、PC)访问、调试
    ASP.NET MVC4 UEditor 的上传图片配置路径
    转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址
    转载:win7JDK环境配置
    转载:java保留2位小数
    转载:遍历Map的四种方法
    架构模式: 远程过程调用
    架构模式: 外部配置化
    架构模式: 微服务的基底
    架构模式: 服务部署平台
  • 原文地址:https://www.cnblogs.com/z-one/p/6097960.html
Copyright © 2020-2023  润新知