我的网址包含一个查询字符串,例如“www.website.php?feature1 = true & feature2 = false”。如何将角度变量设置为查询字符串的值?
当我的页面加载,我想角变量设置为查询字符串变量这样的值:
$scope.feature1 = $_POST['feature1'];
$scope.feature2 = $_POST['feature2'];
我怎样才能做到这一点?谢谢。
我的网址包含一个查询字符串,例如“www.website.php?feature1 = true & feature2 = false”。如何将角度变量设置为查询字符串的值?
当我的页面加载,我想角变量设置为查询字符串变量这样的值:
$scope.feature1 = $_POST['feature1'];
$scope.feature2 = $_POST['feature2'];
我怎样才能做到这一点?谢谢。
您可以通过访问$routeParams
参数GET
(URL参数):
app.controller('CtrlName', ['$scope','$routeParams', function($scope, $routeParams) {
$scope.feature1 = $routeParams.feature1;
$scope.feature2 = $routeParams.feature2;
}]);
假设你的网络入口点是一个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>
然后在你的控制器,你只需注入恒),使用这种方法,您几乎可以从服务器端代码传入任何内容。
您传递的值是通过查询字符串,它们不是发布数据。 – randominstanceOfLivingThing
请将答案标记为“已接受”,以便解决此问题。 :) – leroydev