如何使用javascript或angularjs保存json文件?

时间:2015-10-06 05:07:43

标签: javascript json angularjs html5

我在本地存储了一个json文件,我正在使用它,但我无法保存它,失去了持久性。此代码在我的Web控制器(angularjs)

$http.get("users.json")
            .then(function(res) {
                $scope.users = res.data;
            });

        $scope.addUser = function() {
            $scope.users.push({
                name: $scope.user
            });

            $scope.user = "";            
        }

        $scope.removeUser = function() {
            $scope.users.pop({
                name: $scope.user
            });

            $scope.user = "";            
        }

我知道另一种方式是本地存储,但我无法使用它,因为我无法列出我的html代码中的每个对象(它表示我无法推送或弹出未定义的对象)。

那么,我该怎么做呢?

Thanxs!

3 个答案:

答案 0 :(得分:2)

我认为,您需要在调用http请求之前初始化您的用户变量。

$scope.users = [];
$http.get("users.json")
        .then(function(res) {
            $scope.users = res.data;
        });

希望它能解决未定义的对象问题。

答案 1 :(得分:0)

  

我知道另一种方式是本地存储,但我无法使用它   因为我无法列出我的HTML代码中的每个对象(它说我不能   推送或弹出未被识别的对象。)

如果通过检查数据是否可用来正确存储数据然后添加数据,则可以使用它。其他选项是,如果user数据将用于不同的网页或控制器,那么您可以使用$rootScope

在下面的代码中,您无法定义引发错误的$scope.users

// $scope.users = [];  // Uncomment code if variable is not defined
// $scope.user = '';  //  Uncomment code if variable is not defined
$http.get("users.json")
     .then(function(res) {
        $scope.users = res.data;  // Throws error if not defined earlier
});

$scope.addUser = function() {
  $scope.users.push({
    name: $scope.user   // Here $scope.user throws error if not defined earlier
  });

  $scope.user = "";
};

答案 2 :(得分:0)

谢谢大家,最后我使用带有parse和stringify的de json文件将数据保存在localstorage中!

new