对于 URL,我们需要了解更多,因为我们的开发中可能会需要提取URL的部分信息来做不同的事情,事实上这也是与后端交互的一种独特的方式,当然这肯定是安全的,当请求被返回,关于 url 的信息就被记录在了 Window 对象的 Location对象中,取值的结果并不随着用户手动修改地址栏中的字符而发生任何改变,这一点是很重要的。了解了这些内容,那么我们从下面这张图开始吧:
图片中间那一行较长的字符串是一个完整的 URL,它包含了一个 URL 中可能包含的任何部分:协议、域名、端口号(当然,大多数情况下,我们在浏览网页的时候并没有看到端口号,因为他被隐藏了,默认就是80端口,你加上也不会有错)、路径、参数、描点。在 JavaScript 中,获取到这一行字符串的方法是访问 window.location.href,href属性包含了一个页面完整的 URL。如果想得到 URL 中某一部分的值,我们可以通过复杂、繁琐的正则表达式来解析这个完整的 URL,不过更方便的办法是通过 location 的其他属性来获取。比如 location 的 protocol 属性中记录了带冒号的协议名,pathname 属性存储着路径名,这些属性是 href 的分离,给开发者带来了很多方便。下面的表格中罗列了 location 下所有的属性,以及他们各自记录的值。如果不能理解表格中的内容,那么上面那张图中的色块和文字,形象地描述了各属性在 URL 中对应的位置。
属性 值 href 完整的 URL protocol 协议 hostname 主机名 host 主机名加端口号 port 的端口号 pathname 当前 URL 的路径部分 search URL 的查询部分 hash #开始的锚
值得注意的是,上面的属性都是可选的,这表示我们可以通过 JavaScript 改变他们的值。这些属性大都一目了然非常简单,唯有 search 部分是比较麻烦的,search部分是以 GET 方式传给后台的参数,以 ? 开始,& 作为分隔符,= 赋值的序列化的字符串,如此一来通过 location.search 得到的值往往并不是想要得到的最终结果,通过 search 的结构来分析,我们可能更想要得到的结果是一个包含明确对应关系的关联数组。于是我们需要对 location.search 中得到的字符串进行进一步的处理。
- function getArgs() {
- var args = {};
- var query = location.search.substring(1);
- // Get query string
- var pairs = query.split("&");
- // Break at ampersand
- for(var i = 0; i < pairs.length; i++) {
- var pos = pairs[i].indexOf('=');
- // Look for "name=value"
- if (pos == -1) continue;
- // If not found, skip
- var argname = pairs[i].substring(0,pos);// Extract the name
- var value = pairs[i].substring(pos+1);// Extract the value
- value = decodeURIComponent(value);// Decode it, if needed
- args[argname] = value;
- // Store as a property
- }
- return args;// Return the object
- }
- var search = {
- search:html
- }
- function getArgs(){
- var args = {};
- var match = null;
- var search = decodeURIComponent(location.search.substring(1));
- var reg = /(?:([^&]+)=([^&]+))/g;
- while((match = reg.exec(search))!==null){
- args[match[1]] = match[2];
- }
- return args;
- }.
相关推荐
js获取参数 js获取参数 js获取参数
类似 bb.html?data=1&data2=2这种页面跳转,通过该js可以获取参数 方法:在目标页面,即bb.html中使用一下代码即可: var data=$.query.get("data")
本文为大家详细介绍下如何通过JavaScript实现QueryString获取GET参数,具体实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
下面通过一段代码给大家介绍js中获取URL参数的共用方法getRequest()方法,具体代码如下所示: getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); ...
主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下
jquery_query_js获取url参 使用方法 var id = $.query.get("Id"); 其中的Id是传过来的
本文实例讲述了js获取Get值的方法。分享给大家供大家参考,具体如下: function getUrlParam(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = ...
此时可以使用js的方式得到当前页面的url中的get参数. 核心语句是: [removed].href 详细代码不解释了,有注释,你看了就懂.封装成jQuery扩展包. 代码如下: (function($){ $.extend({ /** * url get parameters * @...
node.js中的express框架,拿到get post 请求传过来的参数
方法一:正则分析法 代码如下: function getQueryString(name) { var reg = new RegExp(“(^|&)” + name + “=([^...GetQueryString(“参数名1”));alert(GetQueryString(“参数名2”)); alert(GetQuerySt
封装了跟后台接口沟通的ajax,还有一个获取url传递get参数的两个公共函数,自己用来跟C#后台接口沟通的前端封装类,有类似需求的可以看看
有关GET方式提交的含有特殊字符的参数JS方面可以使用前面一文中的encode等方法。
一个Javascript库,可轻松读取和修改GET参数。 正在安装 您可以使用以下命令从cdn.hell.sh加载脚本 [removed][removed] 或并自己托管。 读 您可以使用window.getargs.get();获取getargs window.getargs.get(); 或...
主要介绍了Javascript仿PHP $_GET获取URL中的参数代码实例,需要的朋友可以参考下
php获取参数的几种方法总结 ... 您可能感兴趣的文章:JSP 从配置文件获取参数详解js传中文参数controller里获取参数乱码问题解决方法Java调用MySQL存储过程并获得返回值的方法java中如何获取相关参数
在 koa 中,GET请求获取请求数据request对象中的 query 方法和 querystring 方法, query方法返回的是格式化好的参数,querystring 方法返回的是请求字符串。废话不多说,直接上代码 app.js 中添加如下代码: ...
获取参数-js 只是从 URL 获取获取参数的查询
1.传递参数: 代码如下: var pmt = ‘sensor=’+ encodeURI(encodeURI(sensor))+’&device=’+encodeURI(encodeURI(device))+’&instrument=’;...接收和解析参数 代码如下: //获取URL参数 function GetRequest()