【问题标题】:How do I edit data in JSON file?如何编辑 JSON 文件中的数据?
【发布时间】:2015-10-21 18:55:05
【问题描述】:

我对 Angular 还是很陌生,并且很难理解 $http.get 和 $http.get 的语法。我想要做的是当用户在my web app 底部的upvote/downvote 系统中留下评分时更改我的JSON 文件中的数据。我当前代码的相关部分在:

app.js

.controller('rateCtrl', function ($scope, $http) {
  $http.get('rating.json').success(function(data) {
      $scope.likes = data.likes;
      $scope.dislikes = data.dislikes;
      $scope.addLike = function () {
          $scope.likes = $scope.likes + 1;
          data.likes = data.likes + 1;
      };
      $scope.addDislike = function () {
          $scope.dislikes = $scope.dislikes + 1;
          data.likes = data.likes + 1;
      };
  });
});

index.html

<div class="content" id="sub-section">
  <div class="text-area">
      <div class="text" style="color:#3A3A3A">
          Text ...
      </div>
  </div>
  <div class="small"></div>
  <div>
      <table style="text-align:center; font-size:1em" class="table-responsive table" ng-controller="rateCtrl">
          <tr>
              <td>Jeg likte den!</td>
              <td>Jeg likte den ikke!</td>
          </tr>
          <tr>
              <td><p class="likes" ng-click="addLike()">+{{likes}}</p></td>
              <td><p class="dislikes" ng-click="addDislike()">-{{dislikes}}</p></td>
          </tr>
      </table>
  </div>

rating.json

{
"likes": 12,
"dislikes": 0
}

如果有人能给我一个代码示例,我将非常感激我如何在用户喜欢时更改 JSON 文件中的喜欢数量,反之亦然。

【问题讨论】:

  • 您不能从 Angular 执行此操作。您需要编写一个服务器来执行此操作。

标签: javascript json angularjs web-applications


【解决方案1】:

您不能从客户端执行此操作,而是从服务器执行此操作。您需要做的是从 json 文件中读取数据。此数据将存储在data 下。从那时起,您可以将JSON.parse 变成一个对象。从那时起,把它当作一个普通的对象,然后改变它。然后你必须JSON.parse 它并更新你的文件。很抱歉将所有内容都放在一个段落中。我在手机上。

【讨论】:

  • 我对编码很陌生,所以我不熟悉“客户端”和“服务器端”这两个术语。
  • 客户端是用户可以看到和更改的代码。它是发送到浏览器并在浏览器上处理的任何内容。浏览器代码不是安全代码。另一方面,服务器端代码是托管在运行您网站的计算机上的代码。它可以从计算机上读取文件,删除文件等。如果客户端能够删除文件,则会造成严重破坏。普通用户会删除 facebooks 数据库或您的 json 文件等...
  • 感谢您的解释!
【解决方案2】:

您基本上是在尝试发帖。如果您有服务器端逻辑,那么角度的正确方法是 $http.post():

角度文档中的 sn-p:

$http.post('/someUrl', data, config).then(successCallback, errorCallback);

【讨论】:

  • 我没有任何服务器端逻辑(就我而言),但我很乐意提供一些建议!
  • 你可能需要在网上查看一些平均堆栈 crud 教程。
  • 检查这个...scotch.io/tutorials/…
猜你喜欢
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
相关资源
最近更新 更多