2016-12-30 40 views
0

我的網址包含一個查詢字符串,例如「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

假設你的網絡入口點是一個PHP頁面(或任何其他的服務器端渲染HTML頁面,如ASP.NET MVC視圖)我通常從服務器獲取類似這些值的方式是使用constant函數,並在引用角度應用程序後立即將其放置在.php頁面中。事情是這樣的:由JavaScript app.controller('Controller', ['myConfig', function(myConfig) {..}

雖然有更方便的方法莫過於此,當你通過查詢字符串(即可以訪問:

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

然後在你的控制器,你只需注入恆),使用這種方法,您幾乎可以從服務器端代碼傳入任何內容。

相關問題