如何使用Angular控制器将变量传递给另一个页面?

时间:2016-03-03 17:55:50

标签: javascript php html angularjs angular-controller

我有一个HTLM表,其中包含有关人员(id,name,..)的信息。我把这个名字作为另一个页面的链接,所以当我按下任何人的名字时,我想把这个人的id传递到另一个php页面来使用它。 以下是我的代码:

HTML:

<tr ng-repeat="x in data | filter:search:restrict">
    <td>{{ x.id }}</td>
    <td><button  ng-controller ="direct" class="btn btn-link" ng-click = "sendID(x.id)">{{ x.name }}</button></td>

控制器:

fetch.controller('direct',function($scope,$http,$window){
        $scope.sendID=function(){
        $http.post("here.php",{'id':$scope.id})
                .success(function(headers,config){
                });
        $window.location.href = '/here.php'; 
    }

});

第二页,我想将id传递给:

<?php

$data = json_decode(file_get_contents("php://input"));

echo $data->id;

?>

当我点击任何按钮时,第二页说:

&#34;注意:试图获得非对象的属性&#34;

关于什么是错的任何想法?!

谢谢。

2 个答案:

答案 0 :(得分:0)

可以通过href传递id:

$window.location.href = '/here.php?id=' + $scope.id; 

PHP

<?php
  $id = $_GET['id'];
  echo $id;
?>

答案 1 :(得分:0)

如果您只是希望在下一页中访问它,请将其作为查询字符串传递 否则保存$ rootscope中的值,以便可以从任何控制器访问