您现在的位置是: 首页 » 网页代码 » angularjs如何获取url参数
网页代码

angularjs如何获取url参数

网站优化小编十一月 24, 2019 19人已围观

Angular中通过$location获取URL参数。$location服务负责解析浏览器地址栏中的URL(基于window.location),以便你的应用可以访问它。 这是一个双向同步机制 —— 对地址栏URL的任何修改都会被映射到$location服务中,对$location的任何修改也同样会被映射到地址栏。

网站运营中栏目排名优化技巧

Angular中通过$location获取URL参数的几种方法:

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

var absurl = $location.absUrl(); //http://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(); //88

6、获取当前url的端口

var port = $location.port(); //8100

7、获取当前url的哈希值

var hash = $location.hash() //http://088

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

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

9、获取url参数

$location.search().name;
 
$location.search()['name'];

10、注意问题

如果是这样的地址:http://lele.sina.com?name=haha

需要在项目中注入$locationProvider服务

var searchApp = angular.module('searchApp', []);
 
searchApp.config(['$locationProvider', function($locationProvider) {
 
$locationProvider.html5Mode(true);
 
}]);
 
searchApp.controller('MainCtrl', ['$scope', '$location', function($scope, $location) {
 
if ($location.search().keyword) {
 
$scope.keyword = $location.search().keyword;
 
}
}]);

11、js中获取地址栏参数的方法(附加)

url = https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88

// "https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88"
console.log(window.location.href ); 

console.log(window.location.host); // "www.baidu.com"
console.log(window.location.pathname); // "/s"
console.log(window.location.protocol); // "https:"

// "?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88"
console.log(window.location.search);

文章评论

    发表评论

    电子邮件地址不会被公开。

站点信息
  • 站点运行:228天
  • 网站程序:Wordpress
  • 主题模板:bvseo
  • 文章统计:3199 条
  • 文章评论:21 条
  • 微信公众号:扫描二维码,关注我们