2016-12-30 43 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> 

然后在你的控制器,你只需注入恒),使用这种方法,您几乎可以从服务器端代码传入任何内容。

相关问题