2014-02-17 40 views
1

我正在使用angularjs 1.2.8grails 2.3.4後端。我正在通過grails Resources標記提供Restful Api。json沒有數據

我有一個觀點是我加載數據:

<div class="container main-frame" ng-app="testapp" 
    ng-controller="searchController" ng-init="init()"> 
    <h1 class="page-header">Products</h1> 
    <table class="table"> 
     <thead> 
      <tr> 
       <th width="25px">ID</th> 
       <th>TITLE</th> 
       <th>PRICE</th> 
       <th>Description</th> 
       <th width="50px"></th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="p in product by $id"> 
       <td>{{p.id}}</td> 
       <td>{{p.title}}</td> 
       <td>{{p.price}}</td> 
       <td>{{p.description}}</td> 
       <!-- ng-show="user.id &&user.id==e.user_id" --> 
      </tr> 
     </tbody> 
    </table> 
    <!-- ng-show="user.username" --> 
    <p> 
</div> 

我使用searchController加載數據:

testapp.controller("searchController", function($scope, $rootScope, $http, $location) { 
    var load = function() { 
    console.log('call load()...'); 

    var url = 'products.json'; 

    if ($rootScope && $rootScope.appUrl) { 
     url = $rootScope.appUrl + '/' + url; 
    } 

    $http.get(url) 
     .success(function(data, status, headers, config) { 
     $scope.product = data; 
     angular.copy($scope.product, $scope.copy); 
     }); 
    } 

    load(); 
}); 

但是在我的PostgreSQL數據庫沒有可用的數據,但我只有得到:

enter image description here

並且根本沒有厚望:

enter image description here

任何建議我能做些什麼檢查?

PS .:控制器已加載!

UPDATE

使用

<tr ng-repeat="p in product track by p.id"> 

我得到一個錯誤:

Error: [ngRepeat:dupes] http://errors.angularjs.org/1.2.8/ngRepeat/dupes?p0=p%20in%20product%20track%20by%20p.id&p1=undefined 
    at Error (native) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:6:449 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:184:445 
    at Object.fn (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:99:371) 
    at h.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:100:299) 
    at h.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:103:100) 
    at f (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:67:98) 
    at E (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:71:85) 
    at XMLHttpRequest.v.onreadystatechange (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js:72:133) angular.js:9413 

UPDATE2

JSON表示看起來像這樣:

[{"class":"com.testapp.Product.BasicProduct","id":1,"dateCreated":"2014-02-17T13:43:13Z","description":"blblblblbalablablalbalbablablablablblabalalbllba","lastUpdated":"2014-02-17T13:43:13Z","price":5.0,"title":"Product1"},{"class":"com.testapp.Product.BasicProduct","id":2,"dateCreated":"2014-02-17T13:43:13Z","description":"blblblblbalablablalbalbablablablablblabalalbllba","lastUpdated":"2014-02-17T13:43:13Z","price":75.0,"title":"Product2"},{"class":"com.testapp.Product.BasicProduct","id":3,"dateCreated":"2014-02-17T13:43:13Z","description":"blblblblbalablablalbalbablablablablblabalalbllba","lastUpdated":"2014-02-17T13:43:13Z","price":50.0,"title":"Product3"},{"class":"com.testapp.Product.BasicProduct","id":4,"dateCreated":"2014-02-17T13:43:13Z","description":"blblblblbalablablalbalbablablablablblabalalbllba","lastUpdated":"2014-02-17T13:43:13Z","price":25.0,"title":"Product4"},{"class":"com.testapp.Product.BasicProduct","id":5,"dateCreated":"2014-02-17T13:43:13Z","description":"blblblblbalablablalbalbablablablablblabalalbllba","lastUpdated":"2014-02-17T13:43:13Z","price":15.0,"title":"Product5"}]

+0

你能告訴你的數據(產品)JSON表示?我雖然那個ID是一個唯一的密鑰 –

+0

@IlanFrumer請看我的更新! – mrquad

+1

檢查你的數據,看看是否有未定義的ID - >這是錯誤的含義。 –

回答

1

修復ngRepeat語法:

<tr ng-repeat="p in product track by p.id"> 
+1

好的thx尋求你的幫助和支持。睡了一晚後發現錯誤。在json url中是一個簡單的's';( – mrquad