一、传递参数页面

参数传递方法1:通过a标签传递

<a href="page/info.html?gid=1024&red=#5u6c86&img='./img/goods1.jpg'"></a>

参数传递方法2:通过js方式传递

<script>// 说明:参数传递说明let 参数变量1 = './img/goods1.jpg';let 参数变量2 = 998;window.location.href = "./page/info.html?rmb=" + 参数变量1 + "&img=" + 参数变量2 + "&name=参数3(字符串)";// 实例:打开info页面 并传递相应的参数let id = 1024;let img = './img/goods1.jpg';let name = '8K-100寸超清电视';window.location.href = `./page/info.html?gid=${g_1008}&red=${998}&img=${img}`;</script>

二、接收参数页面

URL参数获取方法1:JS原生方法获取url参数


// 假设:打开的网址为:http://www.xxx.com/index.html?name=沐枫&age=28&sex=男function getUrlParam(key) {// 获取地址栏上"?"问号及后面的参数let search = window.location.search.substring(1);console.log('search:', search);// 将url参数转为url对象let urlsp = new URLSearchParams(search);console.log('URLSearchParams', urlsp);// 根所传入的key返回对应的参数值return urlsp.get(key);};// 现在新的URL参数获取写法function getUrlParam(key) {const search = window.location.search.substring(1);try {return new URLSearchParams(search).get(key|| '');} catch (err) {const reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");const par = search.match(reg);if (par != null) return decodeURI(par[2]); return null;}};// 注:调用上的getUrlParam('参数')方法 来获取传过来对应的参数 name、age、sexconsole.log(getUrlParam('name'));   //沐枫console.log(getUrlParam('age'));    //28console.log(getUrlParam('sex'));    //男

URL参数获取方法2:扩展jQuery方法获取url参数

<script src="jQuery.js" type="text/javascript"> //注:要引用jQuery.js文件哦!<script>  // 借助jQuery封装方法$.getUrlParam = function (name) {  const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的    正则表达式对象const par = location.search.substring(1).match(reg);      // 匹配目标参数 if (par != null) return decodeURI(par[2]); return null;   // 返回参数值  };// 现在新的URL参数获取写法$.getUrlParam = function(name) {const search = window.location.search.substring(1);try {return new URLSearchParams(search).get(name || '');} catch (err) {const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");const par = search.match(reg);if (par != null) return decodeURI(par[2]); return null;}};// 注:调用上的$.getUrlParam('参数')方法 来获取传过来对应的参数 rmb、img、name$('#RMB').html('销售价:' +  $.getUrlParam('rmb') + '.00元');//得到参数变量1的参数: 998$('#IMG').attr({src :  $.getUrlParam('img')}); //得到参数变量2的参数:  ../image/goods1.jpg$('#NAME').text($.getUrlParam('name')); //得到参数3的参数: 参数3(字符串)</script>

三、URL相关扩展

什么是URL:

即:统一资源定位符 (Uniform Resource Locator, URL) 

完整的URL由这几个部分构成:

这里以:https://www.mupiao.com:3000/index.html?par=456&num=666#format 为例
对应的:scheme://host:port/path?query#fragment  说明

scheme请求协议:

一般网络请求协议有:http、https、ftp、file等。

host:主机
服务器(计算机)域名系统 (DNS) 主机名或 IP 地址。

port:端口号
整数,可选,省略时使用方案的默认端口,如http的默认端口为80。

path:路径
由零或多个"/"符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。

query:查询
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用"&"符号隔开,每个参数的名和值用"="符号隔开。

fragment:信息片断
字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.)

四、location的相关属性

1、window.location.href(设置或获取整个 URL 为字符串)

var test = window.location.href;
alert(test);
返回:http://i.cnblogs.com/EditPosts.aspx?opt=1

2、window.location.protocol(设置或获取 URL 的协议部分)

var test = window.location.protocol;
alert(test);
返回:http:

3、window.location.host(设置或获取 URL 的主机部分)

var test = window.location.host;
alert(test);
返回:i.cnblogs.com

4、window.location.port(设置或获取与 URL 关联的端口号码)

var test = window.location.port;
alert(test);
返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)

5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx

6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)

var test = window.location.search;
alert(test);
返回:?opt=1

PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。

7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)

var test = window.location.hash;
alert(test);
返回:空字符(因为url中没有)

原生JS 和 jQuery 通过url传递 和 接收 自定义参数相关推荐

  1. jq ajax请求php原声,原生JS与jQuery对AJAX的实现

    原生JS与jQuery对AJAX的实现 一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ...

  2. 原生js、jQuery实现选项卡功能

    在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图:              好了,下边 ...

  3. span的取值与赋值(原生js与jquery) - 对比篇

    文章目录 关于span的取值与赋值 - 原生js与jquery代码 一. span的`取值`: 1. `javascript` 2. `jquery` 二. span的`赋值`: 1. `javasc ...

  4. 原生js和jquery常用的DOM操作

    前言 将原生JS和jquery里面的DOM操作进行了一下整理,方便以后温习. 创建元素节点 1.原生: document.createElement("div") 2.jquery ...

  5. html——原生js与jquery创建元素节点区别

    学习完静态样式之后开始学习动态创建添加html元素,总结了下原生js与jquery生成元素区别. 1.javascript创建元素 创建select var select = document.cre ...

  6. 原生js与jquery的区别

    原生js与jquery的区别 1.选择器: js: $('.car_img_con img')[0]; var jsObj = document.getElementsByClassName('sel ...

  7. 原生js与jQuery显示隐藏div的几种方法

    原生Js与jQuery显示隐藏div的几种方法 简介:本文将会讲解,如何使用原生的JS和jquery来实现对于这个div盒子的隐藏 js 方式一 首先是进行js演示和讲解. 首先是display的方法 ...

  8. 原生js和jquery 遍历数组区别(forEach和each区别)

    原生js和jquery 遍历数组区别(forEach和each区别) <script>var arr=[1,3,6,8,4];var obj={0:1,1:3,2:6,3:8,4:4};a ...

  9. html 对勾单选框,利用原生js和jQuery实现单选框的勾选和取消操作的方法

    根据以下的Demo,大概就可以看的明白 Demo: window.onload = function(){ var dom_a = document.getElementById('a1'); var ...

最新文章

  1. 知方可补不足~SQL中的count命令的一些优化措施(百万以上数据明显)
  2. 世界名画 | 陌上花开,可缓缓归矣
  3. 文件读写以及数据处理
  4. linux 内核 netfilter 网络过滤模块 (4)-期望连接
  5. promise使用promise进行封装授权登录接口
  6. 【Java TreeMap】测试TreeMap的使用、Comparabe自定义类的自定义排序方式
  7. js(function(){alert(‘’‘)})
  8. android源码包下载
  9. 百合数c语言360问答,《百合花》
  10. pd17虚拟机启动器怎么生成?快来看看吧
  11. object转date类型_js-最常用的类型判断
  12. windows 32位系统中进程最大可用内存空间为3GB (转)
  13. 拓扑次序(Topological Order)
  14. 你想要的宏基因组-微生物组知识全在这(2022.2)
  15. 媒体查询简单应用——网页字体自适应窗口大小
  16. html中怎样写渐变色代码,html颜色渐变代码 怎样用css实现网页背景颜色渐变
  17. Azure Kinect微软摄像头Unity开发小结
  18. 5G发展困难,贪婪的手机企业不愿降价,运营商无奈再开4G价格战
  19. AddListener(action)
  20. 工业4.0 资产管理壳学习笔记(1)

热门文章

  1. my firebox plugin list
  2. python只读打开文件,python如何使用只读、不显示窗口的方式打开ppt文件
  3. 计算机内存清理器,轻量便捷的内存清理工具PC版
  4. UDP与TCP协议详解
  5. 工程测量实训心得体会
  6. 从网课安全到多场景挑战,网易云信构建全方位安全合规屏障
  7. javaweb项目JS文件报错解决办法
  8. lol 5.24版本top5:火男胜率登顶
  9. BUUCTF MISC刷题笔记(一)
  10. 浅谈加密技术在电子商务中的应用