Javascript ng click在部分调用控制器函数时遇到困难

Javascript ng click在部分调用控制器函数时遇到困难,javascript,angularjs,angularjs-ng-click,Javascript,Angularjs,Angularjs Ng Click,我花了几天的时间来寻找ng click没有在这里调用控制器函数的其他答案,但我仍然无法找出我做得不正确的地方 我有一个main script.js,其中定义了控制器: var dbApp = angular.module('dbApp', ['ngRoute','ngResource']); dbApp.config(function($routeProvider) { $routeProvider .when('/ma

我花了几天的时间来寻找ng click没有在这里调用控制器函数的其他答案,但我仍然无法找出我做得不正确的地方

我有一个main script.js,其中定义了控制器:

 var dbApp = angular.module('dbApp', ['ngRoute','ngResource']);

    dbApp.config(function($routeProvider) {
            $routeProvider
                    .when('/managedevices', {
                            templateUrl : 'pages/managedevices.html',
                            controller  : 'manageDevicesController'
                    })
    });

   dbApp.controller('manageDevicesController', function($scope, $http) {
            $scope.message = 'manageDevicesController, you say?';
        var dataForThisTest = "json=" + encodeURI(JSON.stringify([
            {
                id: 1,
                firstName: "Test",
                lastName: "Person"},
            {
                id: 2,
                firstName: "Test2",
                lastName: "Person2"}
        ]));

            $scope.people = [];
            $scope.loadPeople = function() {
                var httpRequest = $http({
                    method: 'POST',
                    url: '/echo/json/',
                    data: dataForThisTest

                }).success(function(data, status) {
                    $scope.people = data;
                });
            };

    });
然后我有一个HTML索引文件,它可以完美地显示部分内容

这个部分看起来像:

    <script type="text/javascript">
      if(typeof dbApp === 'undefined'){
        document.location.href="index.html";
      }
    </script> 
    <style>
    table {
      border: 1px solid #666;
    width: 100%;
    }
    th {
      background: #f8f8f8;
      font-weight: bold;
        padding: 2px;
    }
    </style>


    <body>
        <div class="jumbotron text-center">
            <p>{{ message }}</p>
        </div>

    <div ng-controller="manageDevicesController">
        <p>    Click <a ng-click="loadPeople()">here</a> to load data.</p>
    <table>
        <tr>
            <th>Id</th>
            <th>First Name</th>
            <th>Last Name</th>
    </tr>
    <tr ng-repeat="person in people">
        <td>{{person.id}}</td>
        <td>{{person.firstName}}</td>
    </tr>
</table>
</div>
    </body>

如果(dbApp的类型==='undefined'){
document.location.href=“index.html”;
}
桌子{
边框:1px实心#666;
宽度:100%;
}
th{
背景:#f8f8;
字体大小:粗体;
填充:2px;
}
{{message}}

单击此处加载数据

身份证件 名字 姓 {{person.id} {{person.firstName}

似乎ng click不起作用。知道为什么吗?我相信它在div中的ng控制器参考中是正确的

试着像这样重写你的
loadPeople
函数:

$scope.loadPeople = function() {
    $http({
        method: 'POST',
        url: '/echo/json/',
        data: dataForThisTest
    }).then(function(data, status) {
        $scope.people = data;
    });
};

您是否确保请求成功?为什么不$http.post(“/echo/json”,dataForThisTest)?根据调试器,loadPeople函数没有被调用,因此请求永远不会发生。没有真正的理由,如果你建议我改变它,我一定会尝试。