Anglarでアドレスバーのパラメータをlocationで取得します。
最近、プロジェクト開発が行われていますが、心が乾燥していて、多くのものが研究に間に合いませんでした。今日は問題を考えています。同僚はurlのパラメータをどうやって取得するかを聞きました。しばらくはまだ思い出せませんでした。
1.現在の完全なurlパスを取得する
このような住所であれば、http://lele.sina.com?name=haha
プロジェクトに$locationProviderサービスを注入する必要があります。
1.現在の完全なurlパスを取得する
var absurl = $location.absUrl(); //http://88:8100/#/homePage?id=10&a=100
2.現在のurlパスを取得する(パラメータとハッシュ値を含む、現在のurl calの後ろのコンテンツ)
var url = $location.url(); // /homePage?id=10&a=100
3.現在のurlのサブパスを取得する(つまり、現在のurl calの後ろの内容はパラメータを含まない)
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
console.log(window.location.href ); // "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.host); // "www.baidu.com"
console.log(window.location.pathname); // "/s"
console.log(window.location.protocol); // "https:"
console.log(window.location.search); // "?ie=utf-8&f=3&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=%E5%A8%83%E5%93%88%E5%93%88"
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。