将网址url中的参数转化为JSON格式的两种方法
2019-08-14 10:15:06来源:博客园 阅读 ()
在我们进入主题前,我先先看下获取网址URL的方法:
window.location.href // 设置或获取整个URL为字符串
window.location.hash // 设置或获取href属性中在井号#后面的部分参数
window.location.search // 设置或获取href属性中跟在问号?后面,井号#前面的部分参数
例如我们这里有一个url,例如:http://127.0.0.1:8080/html/urltojson.html?id=1&name=good#&price=1003
下面看下上面三个方法是如何使用的
console.log(window.location.href); // http://127.0.0.1:8080/html/urltojson.html?id=1&name=good#&price=1003 console.log(window.location.hash); // #&price=1003 console.log(window.location.search); // ?id=1&name=good
我们看到了上面三个方法的返回参数是不一样的,我们接下来看下如果将url转换为json格式的数据。
第一种: for 循环方式
// 第一种: for循环 var GetQueryJson1 = function () { let url = location.href; // 获取当前浏览器的URL let arr = []; // 存储参数的数组 let res = {}; // 存储最终JSON结果对象 arr = url.split('?')[1].split('&'); // 获取浏览器地址栏中的参数 for (let i = 0; i < arr.length; i++) { // 遍历参数 if (arr[i].indexOf('=') != -1){ // 如果参数中有值 let str = arr[i].split('='); res[str[0]] = str[1]; } else { // 如果参数中无值 res[arr[i]] = ''; } } return res; } console.log(GetQueryJson1());
第二种:正则表达式方式
// 第二种:正则表达式 var GetQueryJson2 = function () { let url = location.href; // 获取当前浏览器的URL let param = {}; // 存储最终JSON结果对象 url.replace(/([^?&]+)=([^?&]+)/g, function(s, v, k) { param[v] = decodeURIComponent(k);//解析字符为中文 return k + '=' + v; }); return param; } console.log(GetQueryJson2());
以上所述是小端给大家介绍的JS将网址url转化为JSON格式的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言
原文链接:https://www.cnblogs.com/wangshucheng/p/11203097.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Javascript中的经典技巧 2020-03-20
- 带你了解JavaScript中的函数 2020-03-08
- 默认让页面的第一个控件选中的javascript代码 2020-02-20
- 详谈构造函数加括号与不加括号的区别 2020-01-17
- JavaScript中的apply和call函数详解 2020-01-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash