从角度js中的couchdb获取数据

时间:2013-05-27 07:09:44

标签: angularjs couchdb

我在员工管理应用中使用角度js。我可以从couchdb生成一个JSON,如下所示:

[

{
    "id": "123",
    "name": "Henry",
    "address": "HSR"
},
{
    "id": "456",
    "name": "Erik",
    "address": "Kormangala"
}

我甚至可以在Firebug的NET面板中看到加载的JSON。 这是我的角度JS文件: Employee_Manager_App.js:

var EMApp= angular.module('EMApp', ['employeeProvider']).config(function ($routeProvider){
    $routeProvider.when("/", {
        templateUrl: '../EMApp/resources/html/login.html',
        controller: 'LoginController'
    });
    $routeProvider.when("/home",{
        templateUrl : '../EMApp/resources/html/home.html',
        controller: 'HomeController'
    });

    $routeProvider.otherwise({redirectTo: '/' });
});
EMApp.controller('LoginController', function($scope, $location){
   $scope.login = function(){
      if($scope.credentials.username === "admin" && $scope.credentials.password === "1234")
        $location.path('/home');
      else
          alert("Username should be admin & Password should be 1234");
   };});
EMApp.controller('HomeController', function($scope, Employees){
$scope.employeeRes = Employees.query();
console.log($scope.employeeRes);});

employee_provider.js:

angular.module('employeeProvider',['ngResource']).
factory('Employees', function($resource){
    var Employees = $resource('http://localhost\\:5984/myapp/_design/mydesign/_show/employee_shows/9351c38f9a64fd26e40b2ac4cf012efe?name=:value', {value : "employees"}, {query : {method : 'JSONP'}});
    return Employees;
});

即使我可以看到JSON作为回复,但在我使用'employeeRes'的html页面上没有看到员工详细信息。

有人看错了吗?请指正。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在致电$resource时,您将使用自己的操作覆盖默认的query操作,但不会告诉它预期结果会出现在数组中。

我猜你没有看到结果,因为你试图用ng-repeat迭代它们。

尝试添加isArray标记:

var Employeees = $resource(
  url, 
  {value: 'employees'},
  {query: {method: 'JSONP', isArray: true}}
);