在处理 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);

 

js处理url中的请求参数(编码/解码)的更多相关文章

  1. js的url中传递中文参数乱码,如何获取url中参数问题

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript ...

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

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

  3. js获取url中的中文参数出现乱码

    解决方法 function getQueryString(key){ var reg = new RegExp("(^|&)"+key+"=([^&]*) ...

  4. 关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url

    在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚.所以没办法,于是自己花了一些时间写了一个: 1 /** 2 * 删除URL中的指定参数 3 * @param {*} url 4 * @pa ...

  5. JS获取Url中传入的参数

    一:后台获取,前台调用 后台: object value= Request.QueryString[key]; 前台js: $(function(){ var value="<%=va ...

  6. node.js获取url中的各个参数

    实例代码test.js var http=require('http'); var url=require('url'); var querystring=require('querystring') ...

  7. JS获取url中的指定参数

    function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...

  8. 使用js获取url中的get参数并转成json格式

    写在前面的 没啥说的 上代码 思路就是先获取到?后面的参数区,然后 利用字符串转数组方法获取到各个参数 var json = {}; var url = 'https://www.baidu.com/ ...

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

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

随机推荐

  1. 调试Javascript代码(浏览器F12)

    在浏览器中按F12,会弹出一个窗口,这个窗口是给开发人员用于网站调试用的,可以分析网页的问题出现在哪里,同时可以调试多种脚本,是一个开发者工具. 想通过encodeURIComponent将C24\C ...

  2. Mockplus是如何节省你的原型时间的?

    还在用老牌原型工具一点点绘制产品原型吗?还在为实现一个满意的交互而绞尽脑汁吗?还在为无法和用户高效沟通而发愁吗?朋友,现在是快速原型的时代了.时间不等人,当你精雕细琢完成产品启动页的时候,别人的原型已 ...

  3. msys2 显示git branch

    在.bashrc或.bash_profile中添加以下内容 function parse_git_branch () { git branch 2> /dev/null | sed -e '/^ ...

  4. OC调用Swift

    Step by step swift integration for Xcode Objc-based project: Create new *.swift file (in Xcode) or a ...

  5. 树结构(三)----平衡二叉树(AVL树)

    将二叉排序树的的缺点优化,继承二叉排序的树的优化 左子树和右子树的高度差的绝对值不超过1

  6. xampp虚拟主机的配置

     ps:来源 https://blog.csdn.net/qq_17335153/article/details/52091869 一.修改httpd.conf   文件目录 xampp => ...

  7. MySQL终端下常用命令

    一:控制类命令 1.show variables like "%datadir%";显示注册在variables中(一个注册表key-value的格式存储数据)key能匹配%dat ...

  8. webuploader 文件上传总结

    $(function() { /** * 初始化Web Uploader */ var uploader = WebUploader.create({ swf : '../mobile/Uploade ...

  9. (博弈)Simple Game --codeforces--570B

    链接: http://codeforces.com/problemset/problem/570/B http://acm.hust.edu.cn/vjudge/contest/view.action ...

  10. 20155225 2016-2017-2 《Java程序设计》第九周学习总结

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...