Web前端不同页面间传值可以使用 cookies、localStorage 和 sessionStorage 等本地存储。

但是,今天我们尝试使用 url 查询,假设我们要传递字符串 str 到 modify.html 页面:

var str = "name=Bob Chen&gender=男&date=1998/04/26&idNumber=430523000000000000&telNumber=13400007511&email=2099367442@qq.com&city=北京";

1、使用encodeURIComponent编码:

location.href = "modify.html?" + encodeURIComponent(str);

url格式如下:

domain:port/path/modify.html?name%3DBob%20Li%26gender%3D%E7%94%B7%26date%3D1998%2F04%2F26%26idNumber%3D430523000000000008%26telNumber%3D13400007511%26email%3D2099367442%40qq.com%26city%3D%E5%8C%97%E4%BA%AC

2、使用encodeURI编码:

location.href = "modify.html?" + encodeURI(str);

url格式如下:

domain:port/path/modify.html?name=Bob%20Chen&gender=男&date=1998/04/26&idNumber=430523000000000000&telNumber=13400007511&email=2099367442@qq.com&city=北京

通过url查询传值后,接下来我们需要解析url,我们为 jQuery 对象添加新方法 parseUrl 来解析url查询:

(function($) {
$.parseUrl = function() {
var paramObj = {},
paramsArr = decodeURIComponent(location.href).split("?")[1].split("#")[0].replace(/\+/g, " ").split("&"),
i = 0, len = paramsArr.length;
for (; i < len; i++) {
var param = paramsArr[i].split("=")[0].trim(),
value = paramsArr[i].split("=")[1].trim();
if (param == "date") {
paramObj[param] = value.replace(/\//g, "-");
} else {
paramObj[param] = value;
}
}
return paramObj;
}
})(jQuery);

然后,我们就可以通过 paramObj 的属性来访问传递的数据了:

var paramObj = $.parseUrl();
console.log(paramObj['name']);

最新文章

  1. 【bzoj3036】绿豆蛙的归宿
  2. [LeetCode] Serialize and Deserialize Binary Tree
  3. POJ1466 Girls and Boys(二分图最大点独立集)
  4. UVa 1339 Ancient Cipher --- 水题
  5. 转-WebView loadData与loadDataWithBaseURL用法、区别
  6. JNI 学习笔记系列(一)
  7. MVC小系列(十二)【RenderAction和RenderPartial区别】
  8. updatepanel的属性
  9. &lt;php&gt;Ajax基本格式
  10. PHP第三节笔记
  11. 在windos 环境下安装
  12. 在使用Qt5.8完成程序动态语言切换时遇到的问题
  13. (set)产生冠军 hdu2094
  14. 4、python常用基础类型介绍
  15. 1.7Oob 继承关系中构造方法的使用
  16. (暴力 记录)Camellia的难题 -- zzuli -- 1784
  17. 【TP5.0】tp5.0实现连接多个数据库,实现类似3.2M(‘table’,&#39;prefix_&#39;,&#39;db_config2&#39;)的CURD操作
  18. codeforces 851C Five Dimensional Points(鸽巢原理)
  19. 通过wireshark抓包来讲解HTTP中Connection: keep-alive头部的作用
  20. 494 - Kindergarten Counting Game

热门文章

  1. HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)
  2. java中NULL与&quot; &quot;的区别
  3. Intellij IDEA 2018.2.2 SpringBoot热启动 (Maven)
  4. cocos2d-x 3.x 物理碰撞机制
  5. java通过IO流复制文件
  6. JBDC—③数据库连接池的介绍、使用和配置
  7. 安装mysql时出现initialize specified but the data directory has files in in.Aborting.该如何解决
  8. 关于STM32 DMA相关总结[概述知识点]
  9. electron安装与使用
  10. 20155236 《Java程序设计》实验五(网络编程与安全)实验报告