AngularJS返回Object对象

时间:2013-12-05 04:12:18

标签: javascript rest angularjs

我有一个返回数组的后端REST服务。我正在尝试使用<select>在我的ng-options之一中显示此REST服务返回的值。但是我在列表中得到[object Object]

后端Java Rest服务

@Path("/positions")
public class PositionRestService {

    ManagerService managerService = new ManagerService();   

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public List<String> getVacantPositions(@HeaderParam("iv-user") String uid) throws Exception{  
        Manager manager = managerService.getManager(uid);
        LdapSearch ldapProfile = new LdapSearch();
        List<String> vacantPositions = new ArrayList<String>();
        vacantPositions = ldapProfile.getChildPositions(manager.getPositionID());
        return vacantPositions;
    }
}

AngularJS代码 - Service.js

services.factory('PositionsFactory', function ($resource) {
        return $resource('/userfeed/rest/positions', {}, {
            query: { method: 'GET', isArray: true}
        })

});

AngularJS - Controller.js

 app.controller('PositionCtrl', ['$scope', 'PositionsFactory', function ($scope, PositionsFactory) {    
    //$scope.positions = PositionsFactory.query();
    PositionsFactory.query({}, function (positionsFactory) {
        $scope.positions = positionsFactory;        
    })
}]);

我使用控制器的HTML代码

 <select ng-model="myPosition" ng-options="position as position for position in positions"> </select>

结果 我在选项列表中看到了以下选项。

[object Object]

当我使用浏览器访问REST服务时,我得到以下数组结果,这是我在上面的选项框中所期望的。

["CU13-00-00-004-","CU13-00-00-005-","CU13-00-00-006-"]

如何使用CU13-00-00-004-, CU13-00-00-005- and CU13-00-00-006-在我的选项中获取值ng-options

在使用

{{positions|json}}
时,我得到以下结果:

[

{     “0”:“C”,     “1”:“U”,     “2”:“1”,     “3”:“3”,     “4”:“ - ”,     “5”:“0”,     “6”:“0”,     “7”:“ - ”,     “8”:“0”,     “9”:“0”,     “10”:“ - ”,     “11”:“0”,     “12”:“0”,     “13”:“4”,     “14”:“ - ”   },   {     “0”:“C”,     “1”:“U”,     “2”:“1”,     “3”:“3”,     “4”:“ - ”,     “5”:“0”,     “6”:“0”,     “7”:“ - ”,     “8”:“0”,     “9”:“0”,     “10”:“ - ”,     “11”:“0”,     “12”:“0”,     “13”:“5”,     “14”:“ - ”   },   {     “0”:“C”,     “1”:“U”,     “2”:“1”,     “3”:“3”,     “4”:“ - ”,     “5”:“0”,     “6”:“0”,     “7”:“ - ”,     “8”:“0”,     “9”:“0”,     “10”:“ - ”,     “11”:“0”,     “12”:“0”,     “13”:“6”,     “14”:“ - ”   } ]

看起来它已将数组转换为JSON对象并为earch字符创建了占位符。 with ng-options将它们显示为[object Object]。

请帮忙。任何建议都会非常感激。

0 个答案:

没有答案