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

js解析网址获取需要的数据的更多相关文章

  1. Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx

    Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx 1. 场景:应用在项目列表查询场景下1 1.1. 预计初步掌握vue ...

  2. js解析php返回的json数据无法获取length的问题分析

    1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined   debug:       首先打印查看了php encode后的数据,返现最外层是一个 ...

  3. js解析xml,获取XMl标签属性值

    <script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...

  4. Jmeter4.0 _Beanshell解析并获取json响应数据数组长度

    我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...

  5. JS遍历表格获取每行数据及每个单元格数据

    /** * 遍历表格获取每行数据及每个单元格数据 * @param tableID 表格ID */ function GetTable(tableID) { var milasUrl = {};//新 ...

  6. js解析或获取页面路径归纳

    /** * 当填写参数href后,解析你给的参数,如果为空自动从获取浏览器的地址 *测试路径:>>>http://127.0.0.1:8020/url/index.html?id=1 ...

  7. js子页面获取父页面数据

    做页面预览的时候,数据没有存入数据库,但是要打开一个页面进行预览,询问众大婶,原来是这样来做. 1.父页面 <input type="text" id="name& ...

  8. js解析网络中的json数据

    <?php echo <<<_END <html> <head> </head> <body> <div id=" ...

  9. ABP JS调用接口 获取返回的数据

    var _userService = abp.services.app.user; console.log(abp.services.app.user); _userService.getUserBy ...

随机推荐

  1. python之编写购物车(第二天)

    作业: 编写购物车 具体实现了如下功能: 1.可购买的商品信息显示 2.显示购物车内的商品信息.数量.总金额 3.购物车内的商品数量进行增加.减少和商品的删除 4.用户余额的充值 5.用户购买完成进行 ...

  2. Android学习计划

    书目 疯狂Android讲义 Android开发艺术探索 Android群英传 Android 源码设计模式解析与实战 Android内核剖析 深入理解 Android自动化测试 代码 信念 坚持.坚 ...

  3. 妈妈再也不担心我的编码问题了。中文编码融汇贯通,windows,django,python,java,html 【转】

    http://blog.csdn.net/farmer_cc/article/details/41830999 HTML编码:html文件是utf-8编码的,不确定的话用记事本打开,另存为的时候就能够 ...

  4. DB2常用sql函数 (转载)

    http://www.techonthenet.com/sql/index.php 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字 ...

  5. json字符串转java对象数组

    需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...

  6. Jquery表单验证

    .代码中添加引用(必备引用) <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript&quo ...

  7. d20161012

    Milk-run 供应商信息维护 基本信息,电子围栏 外部订单导入[或者录入页面] 订单基本信息,载具信息,物料信息,备注(外协还是华为导入订单,订单内容是否内部投递一样,是否需要导入附加,导入后是否 ...

  8. DDS转换工具

    本工具用于将(长宽均为 2 的指数次幂的)图像文件如 PNG.TGA.BMP.JPG 等转换为 DDS 图像(DXT 压缩类型可选,DXT1~DXT5),也可将 DDS 图像转换回此几种格式图片. 截 ...

  9. ma60笔记

    60日均线是股价的生命线,跌破生命线就有一定的下跌空间.大 盘指数也有这种规律,当指数跌破60日平均线后,意味着大盘有一定的下跌空间.大盘指数是由所有个股价格加权统计后产生的,而个股价格却有很大的差异 ...

  10. FTP命令

    linux下常用FTP命令 1. 连接ftp服务器   1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 ...