Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
158 views
in Technique[技术] by (71.8m points)

javascript - AngularJS ng-repeat is not showing table data

my controller bring data from spring app data but it does not get displayed in form. When I put constants in data it works perfectly fine.

here is my code in JS controller

sampleApp.controller('searchCourseController', ['$scope', '$http',
        function($scope, $http,  $routeParams, ngTableParams ) {
         $scope.courses = {};            

        $scope.searchButton=function () {
            var actionUrl = 'searchCourse';

            var textToSearch = $("#txtTitle").val();
            if (textToSearch.length == 0) {
                alert("Please provide search criteria. Blank search is not allowed");
                /* $("#loader-overlay").fadeOut();
                $("#bg-loader").fadeOut(); */
                return;
            }

            $http.get(actionUrl+"?title="+escape(textToSearch))
            .success(
                function(data, status, headers, config) {
                    $scope.courses = data;
                    console.log($scope.courses);
                })
            .error(
                function(data, status, headers, config) {
                });
        };

        $scope.editCourseButton=function () {
            alert ("edit");
        };

    }]);

and my html that i am ussing to display data is following

<table class="table">
                                <thead>
                                   <tr>
                                      <th>Course Name</th>
                                      <th>Status</th>
                                      <th class="hidden-xs">Publishing status</th>
                                      <th class="hidden-xs">Group Name</th>
                                      <th class="hidden-xs">Rating</th>
                                   </tr>
                                </thead>
                                 <tbody>
                                   <tr ng-repeat="course in $scope.courses">
                                      <td>{{course.name}}</td>
                                      <td>{{course.courseStatus}}</td>
                                      <td>{{course.coursePublishStatus}}</td>
                                      <td>{{course.courseGroupName}}</td>
                                      <td>{{course.courseRating}}</td>
                                   </tr>
                                </tbody>
                             </table>

What could be the problem as the same code with fixed data gets displayed in data table without an issue.

thanks,

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can't specify $scope in the view, since it's not defined:

<tr ng-repeat="course in $scope.courses">

Becomes

<tr ng-repeat="course in courses">

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...