在处理 a 链接跳转其他页面时,总会遇到需要传递一些当前页面的信息到其他页面,然后其他页面利用这些信息进行相关操作。利用 get 请求或 hash 传递是常见的方式。

  首先,需要对传递的参数进行编码,保证数据的安全性;之后,将参数拼接到要跳转的url后,并设置为 a 链接中的 href 属性值。

var util = {setUrlParam: function (params, targetUrl) {var url = '';if(params && targetUrl){// json系列化为字符串,并编码var enRequestParams = encodeURIComponent(JSON.stringify(params));// get拼接url = targeteUrl + '?rq=' + enRequestParams;// 或hash拼接// targeteUrl = targeteUrl + '#rq=' + enRequestParams;
        }return url;}
}
// 假设需要传递的数据如下
var requestParams = {'id': '1001','time': '2017-04-21'
};
// 要跳转的页面url
var targeteUrl = 'http://www.baidu.com';// 获取html中id=target的a链接,并设置href
var ndTargetLink = document.querySelector('a#target');
ndTargetLink.href = util.setUrlParam(requestParams, targeteUrl);

  完成了地址拼接,接下来就是在目标页面中解析请求参数了。

var util = { // 获取参数getUrlParam:function(url, param) {var reg = new RegExp(param + "=([^&]*)(&|$)");var num = url.match(reg);if (num != null)return num[1];return null;},// 解码,try处理多次编码的情况decodeUrl:function(str){str=decodeURIComponent(str);var json=null;try{json=JSON.parse(str);return json;}catch(e){return  util.decodeUrl(str);}}
}
var loadPage = {data:(function(){var json=util.decodeUrl(util.getUrlParam(hash,'rq')); return json;})()
}
var data = loadPage.data;
console.log('data',data);

 

转载于:https://www.cnblogs.com/EnSnail/p/6744869.html

js处理url中的请求参数(编码/解码)相关推荐

  1. Js的Url中传递中文参数乱码的解决

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面 Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url ...

  2. JS获取URL中GET的参数

    对于 URL,我们需要了解更多,因为我们的开发中可能会需要提取URL的部分信息来做不同的事情,事实上这也是与后端交互的一种独特的方式,当然这肯定是安全的,当请求被返回,关于 url 的信息就被记录在了 ...

  3. Js获取URL中的指定参数

    平时项目中页面跳转需要携带参数,为方便获取URL中指定参数 整理了两个方法 方法1:URLSearchParams() URLSearchParams对象定义了操作 URL传递参数的方法 //获取ur ...

  4. javascript从url中获取请求参数

    function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(& ...

  5. JS提取URL中的各个参数

    例: URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e 将其按key-value形式返回到一个json结构中 ...

  6. 解决JS在url中传递参数时参数包含中文乱码的问题

    解决JS在url中传递参数时参数包含中文乱码的问题 参考文章: (1)解决JS在url中传递参数时参数包含中文乱码的问题 (2)https://www.cnblogs.com/xushengguan/ ...

  7. openresty获取nginx请求url中的所有参数

    获取请求url中的所有参数:vi test.lua b传两个值:

  8. js获得URL中的参数

    js获得URL中的参数 function GetQueryString(name) {var reg = new RegExp("(^|&)" + name + " ...

  9. http的get请求中的url中添加Object参数

    一直以来http的get请求中,都没有尝试带过复杂对象参数,最新在写grpc时, 使用了框架自动转化rpc请求到http请求,参数定义时没有注意复杂度,定义了个对象嵌套对象的请求参数,所以尝试了下载请 ...

最新文章

  1. 学科顶尖!这些高校,“双一流”潜力股!
  2. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结
  3. BZOJ 1188: [HNOI2007]分裂游戏(multi-nim)
  4. 通过虚方法实现方法重写-多态
  5. java 程序是由什么组成的 java_从零开始的JAVA -2. java程序的构成及命名规则
  6. mm模块流程图 sap_SAP业务流程之MM
  7. putty连接linux设置文件夹,【整理】Windows用ssh连接Linux,想要从Linux上面上传/下载文件 - putty的子工具psftp...
  8. OBS直播影视使用虚拟声卡
  9. 线性回归之最小二乘法(高斯-马尔可夫定理)
  10. Word:一级标题行首段前距失效问题
  11. ppt学习05——配色
  12. 数字图像处理艺术化效果——彩色图像转化为灰度图像(黑白照片)
  13. fatal: unable to access ‘‘: Failed to connect to 27.0.0.1 port 7890 after 2097 ms:Connection
  14. VS生成的解决方案exe文件在其他电脑显示缺失各种dll文件解决办法
  15. 【机器学习】1-机器学习的分类及重要概念
  16. 数据库多表关联插入数据
  17. 程序员鄙视链最全图解,好有道理
  18. Google Earth 背后的故事
  19. UndeclaredThrowableException 详解
  20. EasyExcel复杂模板填充

热门文章

  1. 转移地址在内存中的jmp指令 检测点9.1
  2. python eval()函数用法以及可能出现的问题
  3. 使用indent格式化代码
  4. ioctl中的ifconf ifreg 结构
  5. httpbin.org的使用
  6. 操作系统(三十五)连续分配管理方式
  7. 揭开知识库问答KB-QA的面纱3·信息抽取篇
  8. Android开发:关于Android Settings中的八个问题
  9. JZOJ 3648. 【GDOI2014】beyond
  10. JZOJ 100047. 【NOIP2017提高A组模拟7.14】基因变异