AngularJS如何修改URL中的参数
一. 获取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的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。如果有疑问大家可以留言交流。
文章来源:http://www.jb51.net/article/93291.htm
AngularJS如何修改URL中的参数的更多相关文章
- 修改url中某个参数
function changeURLArg(url,arg,arg_val){ var pattern=arg+'=([^&]*)'; var replaceText=arg+'='+arg_ ...
- 以NameValueCollection 修改URL中的查询参数
以NameValueCollection 修改URL中的查询参数 本文参考于:http://www.c-sharpcorner.com/Blogs/9421/add-remove-or-modify- ...
- js 获取url中的参数 修改url 参数 移除url参数
js 获取url中的参数 修改url 参数 移除url参数 var jsUrlHelper = { getUrlParam : function(url, ref) { var str = " ...
- 如何获取url中的参数并传递给iframe中的报表
在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...
- JavaScript如何获取网页url中的参数
我们可以自定义一个公共函数来实现网页url中的参数获取,返回的是一个数组 GetUrlRequest: function () { var url = decodeURI(location.searc ...
- 使用JS,获取URL中指定参数的值
/** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...
- APPCAN开发笔记:html页面之间的参数传递:使用js获取url中的参数,以及在APPCAN中不能使用的解决方法
用PHP的GET/POST方式来传递方式已经是司空见惯了,但是如果我的页面是一个静态的html的页面,想传递参数的时候要怎么办呢?在APPCAN的开发中我们会经常遇到这样的问题,因为所有的页面都是静态 ...
- 通过Javascript得到URL中的参数(query string)
我们知道,"GET"请求中,通常把参数放在URL后面,比如这样http://www.cnblogs.com/season-huang/index?param=yes&art ...
- javaScript获取url中的参数
var urlTools = { //获取RUL参数值 getUrlParam: function(name) { /*?videoId=identification */ var params = ...
随机推荐
- Linux系统——vim编辑器
一.Linux系统中最常用的文本编辑器 vi:类Unix系统中默认的文本编辑器 vim:vi编辑器的增强版 作用:创建或修改文本文件:维护Linux系统中各种配置文件 二.三种切换模式命令模式输入模式 ...
- ruby中的可调用对象--proc和lamdba
ruby中将块转变成对象的三种方法 ruby中的大部分东西都是对象,但是块不是.那么,如果你想存下来一个块,方便以后使用,你就需要一个对象.ruby中有三种方法,把块转换成可以利用的对象. Proc. ...
- 10 Linux Commands Every Developer Should Know
转载:http://azer.bike/journal/10-linux-commands-every-developer-should-know/ As a software engineer, l ...
- 2018秦皇岛ccpc-camp Steins;Gate (原根+FFT)
因为给定的模数P保证是素数,所以P一定有原根. 根据原根的性质,若\(g\)是\(P\)的原根,则\(g^k\)能够生成\([1,P-1]\)中所有的数,这样的k一共有P-2个. 则\(a_i*a_j ...
- atheros无线驱动之:数据接收流程
1:数据处理函数tasklet,workqueue在之前的初始化代码中的函数__ath_attach()中,有如下的代码: #ifndef ATH_SUPPORT_HTC#ifdef ADF_SUPP ...
- java的String
String.valueOf() 将其他类型的值转换成字符串类型 String.intern() 该方法会将字符串常量池中的字符串与外部的字符串(s)进行比较,如果共享池中 ...
- intellij-idea打包Scala代码在spark中运行
.创建好Maven项目之后(记得添加Scala框架到该项目),修改pom.xml文件,添加如下内容: <properties> <spark.version></spar ...
- iOS 动态调用方法
- (void)bugly { dispatch_async(dispatch_get_global_queue(0, 0), ^{ if (NSClassFromString(@"Bu ...
- templates页面超链接访问Controller方法
<h3>部署列表:</h3> <table border="1px" cellspacing="0px" width=" ...
- jvm学习(重点)
http://blog.csdn.net/yfqnihao/article/details/8271665 http://blog.csdn.net/cutesource/article/detail ...