2017-03-29 20 views
2

URLから角度$location.search()を使用してGET varを取得しようとしていますが、機能しませんでした。

これはコードです:

jsfiddle

and this is the GET

var app = angular.module('myApp',[]); 

app.controller('odinvite', function ($scope, $location) 
    { 
     //$scope.mytry = 5; 
     $scope.mytry =$location.search().username; 
    } 
); 

問題は何?それ以外にも方法はありますか?

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

EDIT -
"mydomain.com/foo.php#?username=7"というURLに手動でハッシュを追加しようとしましたが、うまくいきました。 しかし、毎回ハッシュを追加するのではなく、$locationに自動的にハッシュを追加したいと思います。

app.config(['$locationProvider', function($locationProvider) { 
     $locationProvider.html5Mode(true); 
    }]); 

はそれを解決するために、それは私にエラーました - -

また、私はこれを追加しようとしました

Error: [$location:nobase] http://errors.angularjs.org/1.4.8/$location/nobase 
    at angular.js:38 
    at hf.$get (angular.js:12196) 
    at Object.e [as invoke] (angular.js:4523) 
    at angular.js:4340 
    at d (angular.js:4482) 
    at Object.e [as invoke] (angular.js:4514) 
    at M.instance (angular.js:9182) 
    at D (angular.js:8299) 
    at g (angular.js:7731) 
    at angular.js:7611 
(anonymous) @ angular.js:12520 
(anonymous) @ angular.js:9292 
$apply @ angular.js:16157 
(anonymous) @ angular.js:1679 
e @ angular.js:4523 
c @ angular.js:1677 
yc @ angular.js:1697 
Zd @ angular.js:1591 
(anonymous) @ angular.js:29013 
b @ angular.js:3057 
If @ angular.js:3346 
d @ angular.js:3334 

答えて

1

あなたの例では、第2のリンクと協力しています。フィドルリンクhttps://jsfiddle.net/bar2o6gf/3/はそうusername

が含まれていないので、それは最初のリンクでは動作しません、私は$location

$location.url('http://fiddle.jshell.net/bar2o6gf/3/show/light/?username=7');

の、「URL」プロパティを使用してurlを嘲笑ここにありますコード、

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
    <head> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body> 
 
    <div ng-app="myApp" ng-controller="odinvite"> 
 
     <div> 
 
     <br /> 
 
     <br /> 
 

 
     $location.url() = {{location.url()}}<br /> 
 
     $location.search() = {{loc1}}<br /> 
 
     keyword valus is {{mytry}} 
 
    </div> 
 
    {{mytry}} 
 
    </div> 
 
    
 
<script> 
 
var app = angular.module('myApp',[]); 
 

 
app.controller('odinvite', function ($scope, $location) 
 
    { 
 
     //$scope.mytry = 5; 
 
     
 
     $scope.location = $location; 
 
     $location.url('http://fiddle.jshell.net/bar2o6gf/3/show/light/?username=7'); 
 
    $scope.loc1 = $location.search() ;  
 
    if($location.url().indexOf('username') > -1){  
 
     $scope.mytry= $location.search().username ;  
 
       
 
    } 
 
    
 
    } 
 
); 
 

 
</script> 
 

 
</body> 
 
</html>

Here is a DEMO

+0

私は以前WAMPサーバーで試してみましたが、動作しませんでした。 –

+0

あなたのURLはどのように見えますか?コンソール上のエラー – Sravan

+0

http://localhost/odinvite.php?username = 7 –

0

これはJSフィドルとクエリ文字列プロパティは、のiFrameでの作業方法の問題です。ここをクリックしてください:How to pass GET parameters to jsFiddle

+0

私はWAMPサーバーで試しました。どちらかで働く –

関連する問題