doumu1212 2017-04-05 16:00
浏览 49
已采纳

使用$ http.post,angularJs发送ng-init变量

How can I initialize a $scope variable using PHP so that it can be sent to the server later in an $http.post request? I tried with ng-init but it doesn't seem to work:

<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>
  • 写回答

1条回答 默认 最新

  • douyan3478 2017-04-05 16:11
    关注

    Maybe try something like this:

    <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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?