JS实现页面跳转参数不丢失的方法


Posted in Javascript onNovember 28, 2016

本文实例讲述了JS实现页面跳转参数不丢失的方法。分享给大家供大家参考,具体如下:

需求:页面编辑后,返回列表页面,参数不丢失,能够记住页数以及筛选条件。

我坚信,不管白猫黑猫,能捉到耗子的就是好猫,当然如果能够高效的,简单的处理最好。

我的思路就是,把列表页面地址作为参数传递过去。

这里就会面临一个问题,url本身就是由多个参数组成的,这样纯粹的传递,就会出问题,参数丢失。

所以要对url进行加密。

escape()、encodeURI()、encodeURIComponent()

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。

escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以将参数中的中文、特殊字符进行转义,而不会影响整个URL。

经过测试,发现encodeURIComponent方法可以很好的解决这个问题。

1.设置url

// 设置当前url
var list_url = '/document/order/default.php?page=' + page_nums + '&'+ $("#form1").serialize();
var e_list_url = encodeURIComponent(list_url);
$("#list_url").val(e_list_url);

2.传递url

var list_url = $('#list_url').val();
window.location.href='/document/order/view.php?order_id='+order_id+'&action=edit&handler=admin&list_url='+list_url;

3.解析url并跳转

var list_url = '<?php echo $list_url;?>';
d_list_url = decodeURIComponent(list_url);
window.location.href = d_list_url;

这样就能实现,参数不丢失了。主要就是页码和筛选条件。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
JavaScript中的undefined学习总结
Nov 30 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
Nov 24 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
vue基于Element构建自定义树的示例代码
Sep 19 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
浅谈vue加载优化策略
Mar 19 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
JavaScript实现横版菜单栏
Mar 17 Javascript
echarts实现晶体球面投影的实例教程
Oct 10 Javascript
String字符串截取的四种方式总结
Nov 28 #Javascript
localStorage实现便签小程序
Nov 28 #Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 #Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 #Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 #Javascript
正则表达式,替换所有HTML标签的简单实例
Nov 28 #Javascript
基于slideout.js实现移动端侧边栏滑动特效
Nov 28 #Javascript
You might like
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
类似框架的js代码
2006/11/09 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
PHP开发工程师面试问题集锦
2012/11/01 面试题
会计专业自荐信
2014/06/03 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
加入学生会自荐书
2015/03/05 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
银行服务理念口号
2015/12/25 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS