对包含 json 的字符串使用 ng-repeat
Using ng-repeat on a string that contain a json
我有这种情况:我想在包含 Json 行的字符串上使用 ng-repeat 指令。这根绳子来自带球衣的休息服务。当我调用包含此指令的页面时,出现错误。我该如何解决这种情况?谢谢大家。
SyntaxError: Unexpected token {
at Object.parse (native)
at fromJson (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:1035:14)
at defaults.defaults.transformResponse (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:6933:18)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:6908:12
at Array.forEach (native)
at forEach (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:302:11)
at transformData (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:6907:3)
at transformResponse (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:7589:17)
at deferred.promise.then.wrappedCallback (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:10943:81)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js:11029:26
}
这是我的代码:
列表.html
<tr ng-repeat="person in persons">
<td>{{ person.name }}</td>
<td>{{ person.lastname }}</td>
<td>{{ person.tasks }}</td>
<td>{{ person.skills }}</td>
<td><a ng-click="editUser(person.id)" class="btn btn-small btn-primary">Modifica</a></td>
<td><a ng-click="deleteUser(person.id)" class="btn btn-small btn-danger">Elimina</a></td>
</tr>
服务.js
services.factory('PersoneFactory', function ($resource) {
return $resource(baseUrl + '/GestRisorse/rest/person/personList', {}, {
query: { method: 'GET', isArray: false },
})
});
控制器.js
app.controller('PersonListCtrl', ['$scope', 'PersoneFactory', 'PersonFactory', '$location',
function ($scope, PersoneFactory, PersonFactory, $location) {
$scope.persons = PersoneFactory.query();
}]);
restController.java
@Path("/person")
public class PersonRestController {
private PersonDAO personDao = new PersonDAO();
@GET
@Path("/personList")
@Produces("application/json")
public String getPersonList() {
return personDao.getAllPerson();
}
...
}
人道.java
public String getAllPerson(){
DBCollection collection = connection.getCollection("users");
StringBuffer s = new StringBuffer();
DBCursor cursor = collection.find();
try {
while(cursor.hasNext()) {
s.append(cursor.next());
}
} finally {
cursor.close();
}
return s.toString();
}
...
}
感谢在我的
问题下写评论的人,我想说他们我发现了问题,其中 2:
1)我没有正确使用承诺,现在我在控制器中添加这些行
PersoneFactory.query().$promise.then(function(data) { $scope.persons = JSON.parse(data); }, function(errResponse) { console.log("errore"); });
2)我没有正确格式化JSON,因此来自后端的字符串不是有效的JSON。
谢谢大家。
相关文章:
- ng init中的表达式无法使用ng repeat
- Angular ng repeat order将多个字段作为一个字段
- 访问ng repeat中的第一个项目
- Angular js+ng repeat+字母数字索引不起作用
- 如何正确应用Angularjs ng repeat
- 角度.js - 将带有特殊字符和数字的字符串转换为数组并使用 ng-repeat 显示
- 双向绑定 ng-repeat 中的字符串数组
- 角度,将字符串放在 ng-repeat 中的 url 中(用于 img 链接)
- 如何使用angularjs ng-repeat将html字符串从数组转换为html
- Angular ng-repeat中的Json字符串不起作用
- 对包含 json 的字符串使用 ng-repeat
- 拆分在ng repeat指令中创建的字符串(ng模型)
- Ng-repeat filter从object - angularjs否定字符串
- AngularJS将字符串从ng-repeat List传递给前端函数
- json字符串中的数组长度在angular ng-repeat中返回意想不到的结果
- Angularjs ng-repeat按数字顺序排序字符串数组
- Angular过滤器,将ng-repeat对象中的字符串数组与字符串数组进行比较,并过滤掉不匹配的对象
- AngularJS的ng-repeat使用ng-bind-html来渲染数组中的HTML字符串
- 如何通过部分字符串属性过滤ng-repeat中的值
- Angularjs:过滤ng-repeat中包含子字符串的项