2017-07-31 8 views
0

私はこのexampleのように$locationを使用してURLクエリ文字列を抽出したいと思います。 私のurl - http://someDomain.com/create/index.jsp?queryToken=123abc

と私の指示で:

vm.queryParam = $location.search(); 
$log.log('vm.queryParam', vm.queryParam); //{} 
vm.details.query = vm.queryParam.queryToken; 
$log.log('vm.queryToken', vm.details.query); //undefined 

$locationをログに記録するとき、私はPARAMまたはのparamsを見ることができますが、search()が動作しないときにそれらを抽出するための正しい方法は何ですか?

ありがとうございました。

+0

これはjです私は上のURLを返す必要があります。 –

+0

エラーがおありですか? – anu

+0

いいえ、私は角度のベテランです... –

答えて

0

$ location.search()は、HTML5モードがオンの場合にのみ機能します。あなたのルートを定義する
は、この行を追加します。

$locationProvider.html5Mode(true); 

これは常に動作します:

$window.location.search 
+0

_ $ location.search()はHTML5モードオンになっています.HTML5モードもオフになっています。 – George

2

私はこれを使用していると、それは動作しますが、この

var app = angular.module('myApp', []); 
 
app.config(['$locationProvider', function($locationProvider){ 
 
$locationProvider.html5Mode({ 
 
    enabled: true, 
 
    requireBase: false 
 
    }) 
 
}]) 
 
app.controller('myCtrl', function($scope, $location) { 
 
$scope.myPeram = "pass some value in url ?myParam=123"; 
 
\t \t var query = $location.search(); 
 
    if(query.myParam) 
 
    $scope.myPeram = query.myParam; 
 
    
 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.20/angular.min.js"></script> 
 

 
</script> 
 
<body> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
<span ng-bind="myPeram"></span> 
 

 

 
</div> 
 
</body> 
 
</html>
を使用してみてください

関連する問題