2016-12-30 31 views
0

URLにクエリ文字列が含まれています(例: "www.website.php?feature1 = true & feature2 = false")。角度変数をクエリ文字列の値に設定するにはどうすればよいですか?

ときに私のページが読み込まれると、私は、角度の変数は、このようなクエリ文字列変数の値に設定したい:

$scope.feature1 = $_POST['feature1']; 
$scope.feature2 = $_POST['feature2']; 

はどうすればこれを行うことができますか?ありがとう。

+1

渡す値はクエリ文字列を介したもので、投稿されたデータではありません。 – randominstanceOfLivingThing

+0

この質問が解決されるように、回答に「受け入れ済み」とマークしてください。 :) – leroydev

答えて

2

あなたは$routeParamsを通じてGETパラメータ(URLパラメータ)にアクセスすることができます

app.controller('CtrlName', ['$scope','$routeParams', function($scope, $routeParams) { 
    $scope.feature1 = $routeParams.feature1; 
    $scope.feature2 = $routeParams.feature2; 
}]); 
0

(または他のサーバー側は、ASP.NET MVCビューとして、htmlページをレンダリング)PHPのページをあなたのWebエントリポイントをされたと仮定すると、私は通常、サーバーから角度にこれらのような値を取得する方法は、constant関数を使用して、角アプリを参照した直後に.phpページに置きます。このような何か:

<script src="app.js" /> 
<script> 
    angular 
     .module('app') 
     .constant("myConfig", { 
      "feature1": "<?php echo htmlspecialchars($_POST['feature1']); ?>", 
      "feature2": "<?php echo htmlspecialchars($_POST['feature2']); ?>" 
     }); 
</script> 

次に、あなたのコントローラで、あなただけの定数を注入:app.controller('Controller', ['myConfig', function(myConfig) {..}

これよりも便利な方法がありますが、クエリ文字列を渡しているとき、(つまりはJavaScriptをすることによってアクセスすることができ)、このアプローチでは、サーバー側のコードから何かをほとんど渡すことができます。

関連する問題