jq mobile作为一个web开发手机app的框架,打包后的apk,其实就是在手机上模拟一个简易的浏览器,然后进行js操作,在没有服务器端脚本语言的支持下,如何传递参数呢?
很明显,这就要依靠jquery mobile来获取了。
在$(document).bind('pagebeforechange',function(e,data){... ... });事件里面:
[javascript] view plaincopyprint?
  1. $(document).bind('pagebeforechange',function(e,data){
  2. if (typeof data.toPage !== "string"){//这个事件会调用两次,但每次的data内容不一样,所以要判断
  3. return;
  4. }
  5. var urlObj = $.mobile.path.parseUrl(data.toPage);//取到一个对象
  6. var paramStr = urlObj.search;//对象中的参数,格式为 例: ?id=34&key=perfect&action=go
  7. });
$(document).bind('pagebeforechange',function(e,data){if (typeof data.toPage !== "string"){//这个事件会调用两次,但每次的data内容不一样,所以要判断return;}var urlObj = $.mobile.path.parseUrl(data.toPage);//取到一个对象var paramStr = urlObj.search;//对象中的参数,格式为 例: ?id=34&key=perfect&action=go
});

还要处理这个取到的参数,笔者想用诸如serialize,unserialize之类的函数进行处理,可惜都没有找到合适的;于是自己写了个函数来处理:

[javascript] view plaincopyprint?
  1. function getUrlParam(string) {
  2. var obj = {};
  3. if (string.indexOf("?") != -1) {
  4. var string = string.substr(string.indexOf("?") + 1);
  5. var strs = string.split("&");
  6. for(var i = 0; i < strs.length; i ++) {
  7. var tempArr = strs[i].split("=");
  8. obj[tempArr[0]] = unescape(tempArr[1]);
  9. }
  10. }
  11. return obj;
  12. }
function getUrlParam(string) {var obj = {};if (string.indexOf("?") != -1) {var string = string.substr(string.indexOf("?") + 1);var strs = string.split("&");for(var i = 0; i < strs.length; i ++) {var tempArr = strs[i].split("=");obj[tempArr[0]] = unescape(tempArr[1]);}}return obj;
}
于是第一处的代码可以这样处理:
[javascript] view plaincopyprint?
  1. $(document).bind('pagebeforechange',function(e,data){
  2. if (typeof data.toPage !== "string"){
  3. return;
  4. }
  5. var paramUrl = $.mobile.path.parseUrl(data.toPage);
  6. var params = getUrlParam(paramUrl.search);
  7. });
  8. function getUrlParam(string) {
  9. var obj = {};
  10. if (string.indexOf("?") != -1) {
  11. var string = string.substr(string.indexOf("?") + 1);
  12. var strs = string.split("&");
  13. for(var i = 0; i < strs.length; i ++) {
  14. var tempArr = strs[i].split("=");
  15. obj[tempArr[0]] = unescape(tempArr[1]);
  16. }
  17. }
  18. return obj;
  19. }

转载于:https://blog.51cto.com/yerik/1118129

jquery mobile 页面间的传递参数相关推荐

  1. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递

    同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...

  2. 使用 jQuery Mobile 与 HTML5 开发 Web App (十二) —— jQuery Mobile 页面事件与 deferred

    在系列的上一篇文章<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 事件详解>中,Kayo 介绍了除页面事件外的其他 jQuery ...

  3. ASP.NET页面间数据传递的方法

    本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同 ...

  4. ASP.NET页面间数据传递的几种方法

    1.ASP.NET页面间数据传递的各种方法和分析 1.1 使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递.如页面 ...

  5. asp.net页面间数据传递(总结篇)

    asp.net页面间数据传递(总结篇) 1. Get(即使用QueryString显式传递)      方式:在url后面跟参数.      特点:简单.方便.      缺点:字符串长度最长为255 ...

  6. Servlet页面间对象传递的方法

    Servlet页面间对象传递的方法 1.request 2.session 3.application 4.cookie 5.其它的

  7. jQuery Mobile 笔记(1)- jQuery Mobile页面结构

    jQuery Mobile页面解构 jQuery Mobile 的"页面"结构不同于传统的html页面,这样做是为了优化single page application的用户体验. ...

  8. jQuery Mobile页面返回无需重新get

    jquery mobile新版中没有返回按钮的解决方案 1. 需要在页面源代码的 page 中加上 data-add-back-btn="true" . 2.同时页面的代码中加上一 ...

  9. javascript写的关于静态页面获取URL传递参数的函数[原创]

    2005.04.29发表于blog.csdn.net/zxub 昨天搬家居然忘搬这篇文章了,郁闷~ 以前写了关于静态页面刷新后,跳转菜单定位的函数,前几天没事看了看,感觉还是有点问题,通用性不好,所以 ...

最新文章

  1. getCacheDir() 和 getFilesDir() 的区别
  2. 华为自动驾驶实车实路测试视频曝光!徐直军:比特斯拉好多了
  3. 01-插件推荐:RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
  4. linux c++ 调用matlab,ubuntu系统下C++调用matlab程序的方法详解
  5. anaconda在ubuntu19.10下面安装python3.6和python2.7+更换国内源+一键切换配置
  6. 微信小程序开发demo-地图定位
  7. xamarin怎么调用java的_XamarinSQLite教程在Xamarin.Android项目中使用数据库
  8. linux软件读取不到空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  9. 【Python】pandas模块中更改Series的数据类型
  10. [摘录]第五部分 经验谈(2)
  11. AWVS13安装教程
  12. 一个指导人机系统评估的框架
  13. java生成 动态 pdf_java根据模板HTML动态生成PDF
  14. 【LeetCode】322. 零钱兑换 结题报告 (C++)
  15. openGL曲面细分
  16. 企业破产重整网_最高法开通全国企业破产重整案件信息网
  17. cassandra(scylladb)数据备份和还原
  18. Vue的简单入门操作(笔记)与前后端crud
  19. ROS安装使用中遇到的问题及解决办法(包括ubuntu)
  20. 阿里云本机一键登录集成

热门文章

  1. 专访Keras之父:关于深度学习、Keras的诞生和给初学者的建议
  2. 心得丨从0到1,教你如何利用大学四年无师自通,学好机器学习!
  3. CICC《城市大脑建设规范》标准建设启动会在京召开
  4. 这个最基本的生命细节才被揭开——25毫秒核孔穿梭
  5. 起源,机制与趋势,如何理解和定义城市大脑
  6. 几十亿打水漂!世界最大移动通信展MWC因疫情33年来首次取消,多方损失惨重...
  7. 【全文】Libra回应质疑:Facebook将放弃控制权,不与主权货币竞争
  8. 复杂人机智能系统功能分配方法综述
  9. 漫画 | TCP,一个悲伤的故事
  10. 腾讯云发布智慧能源四大新品,携手合作伙伴共建智慧能源生态圈