2017-01-10 16 views
0

私は昨日と同じ問題があります:私はAngularJS経由でHTMLページのURLからパラメータを使用する必要があります。私の間違いは何ですか?ただ、実際には、何もない、エラーが今存在しない、私はこの「ユーザー」を取得する必要がありAngularJSでHTMLの変数でURLパラメータを使用してください

https://url.com/index.html?user 

が、今では動作しません:

は、私が表示さなどのパラメータを使用する必要があります@だけの空のh1。 :(

<div class="container" id="body-container" ng-controller="myController as myApp"> 
    <h1 id="header-username">@{{myApp.user}}</h1> 
</div> 

は、私が何かをすればよいですか?

(function() { 

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

    app.controller('myController', function ($scope, $location) { 
     this.user = $location.search(); 
    }); 
})(); 

答えて

0

$ locationサービスのデフォルトの動作は、hashbang modeで動作するようになっています。このモードでは、search()メソッドは、後にあるパラメータを返します。 #がURLに存在する場合のみ。

http://url.com/index.html#/?user 

urlには#がないため、search()は何も返しません。

代わりに、HTML5 modeを使用してみてください。これは、#がURLに存在する必要はありません。この場合、search()は{"user":true}を返します。

http://url.com/index.html/?user 

HTML5モードを使用するには、

app.config(function ($locationProvider){ 
    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 
}); 

以下のようにあなたの$ locationProviderを設定するには、このplunker

をチェック
0

あなたは(それがangular2と同じ方法だ場合、私はよく分からない)angularJS 1. *を使用している場合は、$を使用することができますその後、routeProviderとあなたのURLから値を取得するには$ routeParams良いexemple持っている

チェックこのウェブサイト:あなたがサービス$の場所を使用する場合はhttp://heycodetech.com/how-to-get-the-url-parameters-using-angularjs/

を、あなたの問題メートルあなたが「ユーザ」に束縛していないという事実に起因しています。

https://url.com/index.html?user='toto' 

.controller(‘myController’, function ($scope,$location) { 
$outputJson = $location.search(); // will get all parameter of your URL in json format 
var param1 = $location.search().user; // will get the value bond to "user" 
}); 
関連する問題