2017-04-05 99 views
-1

如何使用PHP初始化$scope变量,以便稍后可以在$http.post请求中将其发送到服务器?我试着用ng-init但似乎并没有工作:

<body ng-app="app" ng-controller="ctrl" ng-init="name='<?php echo $_GET['search']; ?>'"> 
    <pre> 
     {{result}} 
    </pre> 
</body> 
<script> 
    var app = angular.module('app',[]); 
    app.controller('ctrl',function($scope,$http){ 
     $http.post('post.php',{'var1': $scope.name,'var2':'test'}).then(function(response) { $scope.result = response.data; }); 
    }); 
</script> 

回答

0

也许尝试这样的事:

<body ng-app="app" ng-controller="ctrl" ng-init="postMethod()"> 
    <pre> 
     {{result}} 
    </pre> 
</body> 
<script> 
    var app = angular.module('app',[]); 
    app.controller('ctrl', function ($scope, $http) { 
     $scope.myVar = '<?php echo $_GET['search']; ?>'; 
     $scope.postMethod = function(){ 
      $http.post('post.php',{'var1': $scope.myVar,'var2':'test'}).then(function(response) { $scope.result =  response.data; }); 
     }; 
    }); 
</script>