AngularJS通过$location获取及改变当前页面的URL


Posted in Javascript onSeptember 23, 2016

注意

本文中获取与修改的URL以 ‘http://172.16.0.88:8100/#/homePage?id=10&a=100' 这个路径为例:

一. 获取url的相关方法(不修改URL):

1.获取当前完整的url路径  

var absurl = $location.absUrl(); 
//http://172.16.0.88:8100/#/homePage?id=10&a=100

2. 获取当前url路径(当前url#后面的内容,包括参数和哈希值):  

var url = $location.url(); 
 // 结果:/homePage?id=10&a=100

3. 获取当前url的子路径(也就是当前url#后面的内容,不包括参数) 

var pathUrl = $location.path() 
//结果:/homePage

4.获取当前url的协议(比如http,https) 

var protocol = $location.protocol(); 
//结果:http

5.获取主机名 

var localhost = $location.host(); 
//结果:172.16.0.88

 6.获取当前url的端口 

var port = $location.port(); 
//结果:8100

7.获取当前url的哈希值 

var hash = $location.hash() 
//结果:http://172.16.088

8.获取当前url的参数的序列化json对象  

var search = $location.search(); 
 //结果:{id: "10", a: "100"}

二. 修改url的相关方法(改变URL相关内容):

1 修改url的子路径部分(也就是当前url#后面的内容,不包括参数):  

$location.url('/validation'); 
//结果:http://172.16.0.88:8100/#/validation

2 修改url的哈希值部分 

$location.hash('myhash3'); 
//结果:http://172.16.0.88:8100/#/homePage?id=10&a=100#myhash3

3 修改url的参数部分(第一个参数表示url参数的属性名,第二个参数是该属性名的属性值,如果是已有属性名,则修改,如果不是已有属性,则新增) 

$location.search('id','111') 
// 结果(修改参数值):http://172.16.0.88:8100/#/homePage?id=111&a=100 
 
$location.search('ids','111') 
// 结果(新增ids参数): http://172.16.0.88:8100/#/homePage?id=111&a=100&ids=111

4.一次性修改多个参数 

$location.search({id:'55','a':'66'}) 
//结果:http://172.16.0.88:8100/#/homePage?id=55&a=66#myhash3

5.第一个值表示url参数的属性名,如果是已有属性名,则删除该属性,如果不是已有属性,那就等于没改过  

$location.search('age',null)

三、修改URL但不存入历史记录

在上面的修改url的方法的时候,每修改一次,url都会被存入历史记录,可以使用后退按钮回到修改前的url,如果不想要这种效果,而仅仅是替换当前的记录,可以使用  $location.path('/validation').replace();

总结

以上就是关于AngularJS通过$location获取及改变当前页面URL的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。如果有疑问大家可以留言交流。

Javascript 相关文章推荐
非常不错的一个javascript 类
Nov 07 Javascript
js 幻灯片的实现
Dec 06 Javascript
setTimeout的延时为0时多个浏览器的区别
May 23 Javascript
js表头排序实现方法
Jan 16 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 Javascript
laypage分页控件使用实例详解
May 19 Javascript
Laravel中常见的错误与解决方法小结
Aug 30 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
Dec 03 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
JSONP跨域请求
Mar 02 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
Sep 17 Javascript
AngularJS监听路由的变化示例代码
Sep 23 #Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 #Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 #Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 #Javascript
form表单转Json提交的方法(推荐)
Sep 23 #Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 #Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
Sep 23 #Javascript
You might like
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
PHP 实现重载
2021/03/09 PHP
在javascript中关于节点内容加强
2013/04/11 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
Python实现的中国剩余定理算法示例
2017/08/05 Python
Django入门使用示例
2017/12/12 Python
Python实现简单的语音识别系统
2017/12/13 Python
Django如何将URL映射到视图
2019/07/29 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
程序员岗位职责
2013/11/11 职场文书
数控专业自荐书范文
2014/03/16 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python