Angular初学者:如何使用工厂+ $ http + json文件?

时间:2014-04-20 21:32:14

标签: angularjs

我有一个不起作用的工厂:

toDoListApp.factory("blahFactory", function($http) {
    return {
        getChores : function() {
            return $http({
                url: '/chore.json',
                method: 'GET'
            })
        }
    }
});

包含数据的chore.json文件:

{"name":"laundry","hours":"3"},{"name":"dishes","hours":"0.5"},{"name":"blah","hours":"1.5"}

我的控制器使用这个工厂,但在那条线上打破了:

toDoListApp.controller("ChoresController", function($scope, choresFactory, blahFactory) {

    blahFactory.getChores().success(function(data) {
        $scope.blah = data;
        console.log(data);
    });

    ....

我的firebug控制台中的跟踪不是很具描述性:Error: JSON.parse: unexpected non-whitespace character after JSON data +一堆没有意义的角度垃圾。谁能帮忙解释一下?我的JSON无效吗?

=== 更新 ===

好的,所以我试图将数组括号放入json文件并修改我工厂中的$ http.get函数以使用cache: false但它仍然不会更新我的json,因为它已缓存..

=== 答案 ===

所以我删除了chrome的缓存并添加了数组括号,一切正常!

1 个答案:

答案 0 :(得分:3)

您的JSON不正确。你只有三个对象彼此相邻,而是将它们放在这样的数组中。

[
  {"name":"laundry","hours":"3"},
  {"name":"dishes","hours":"0.5"},
  {"name":"blah","hours":"1.5"}
]

其他一切看起来都很棒。