Javascript $http.put是否可以将数据写入JSON文件

Javascript $http.put是否可以将数据写入JSON文件,javascript,json,angularjs,angular-http,Javascript,Json,Angularjs,Angular Http,我为这个新手的问题道歉,但我在网上搜索时得到了相互矛盾的答案 我创建了一个AngularJS应用程序,使用$http.get从JSON文件中读取数据,并将数据显示为一个表单,每个表单元素都与ng模型绑定。理想情况下,我希望用户能够编辑所需字段并单击save,然后在JSON文件中更新数据。有人告诉我,要做到这一点,你需要一个像NodeJS这样的第三方服务器,但我看到了其他的例子,在视频中显示了这一点。有人能告诉我,如果没有第三方服务器,这是可能的,如果是的话,做这件事的最佳做法是什么 谢谢我很想看

我为这个新手的问题道歉,但我在网上搜索时得到了相互矛盾的答案

我创建了一个AngularJS应用程序,使用$http.get从JSON文件中读取数据,并将数据显示为一个表单,每个表单元素都与ng模型绑定。理想情况下,我希望用户能够编辑所需字段并单击save,然后在JSON文件中更新数据。有人告诉我,要做到这一点,你需要一个像NodeJS这样的第三方服务器,但我看到了其他的例子,在视频中显示了这一点。有人能告诉我,如果没有第三方服务器,这是可能的,如果是的话,做这件事的最佳做法是什么


谢谢

我很想看到这些视频,这些视频是在服务器不向文件写入的情况下完成的。除非您配置服务器(apache、nginx、tomcat、node),否则您不能只是“发布.json文件”并将其替换为旧文件。

$http GET(用于客户端上的资源)将无法与Chrome浏览器一起使用,并将出现CORS错误(除非您通过使用run…/Chrome.exe打开Chrome来禁用Chrome web安全性)“--允许从文件访问文件-禁用web安全性)。Firefox给出一个错误,指出JSON格式不正确,即使它是。浏览器似乎不喜欢它

HTML5 LocalStorage是客户端存储的最佳选择,在客户端存储中,您希望执行CRUD操作,并使数据在页面刷新后仍然有效。一个很好的例子是[TodoMVC示例] ()

下面是一个非常简单的示例,它将json文件保存到localstorage并读取localstorage的内容。该服务包含一个getter和一个setter方法来与localstorage交互

INDEX.HTML

<body ng-app = "app">
<div ng-controller="MainCtrl">
  <form>
<input placeholder="Enter Name.." ng-model="newContact"/>
<button type="submit" class="btn btn-primary btn-lg"    
       ng-click="addContact(newContact)">Add
    </button>
  </form>
  <div ng-repeat="contact in contacts track by $index">
    {{contact.name}}
  </div>
</div>
SERVICES.JS

angular.module('app', ['app.services'] )
.controller('MainCtrl', function ($scope, html5LocalStorage) {
    //create variable to hold the JSON
var contacts = $scope.contacts = html5LocalStorage.get();
$scope.addContact = function(contact) {     
  $scope.contacts.push( {"name":contact} ); //Add new value
  html5LocalStorage.put($scope.contacts);   //save contacts to local storeage
    }
});
angular.module('app.services', [] )
.factory('html5LocalStorage', function () {
  var STORAGE_ID = 'localStorageWith_nG_KEY';   //the Local storage Key
    return {
    //Get the localstorage value
    get: function () 
    {
        return JSON.parse(localStorage.getItem(STORAGE_ID) || '[]');
    },
    //Set the localstorage Value
    put: function (values) 
    {
        localStorage.setItem(STORAGE_ID, JSON.stringify(values));
    }
  };
});
否则,您可以使用Node和Express,并将JSON文件存储在服务器上。使用文件系统模块“fs extra”与json文件交互。 您必须为客户端创建RESTful API路由,以便使用$http与服务器交互并执行CRUD操作

  • /放
  • /得到
  • /删除
  • /职位

服务器本身并不是真正的第三方。。。你现在使用什么服务器来实际提供文件?我只是通过WebStorm viewer运行它,我们的主应用程序使用Apache。Apache与其他任何东西一起使用,或者只是作为静态文件服务器使用?你是将这些文件存储在实际的物理JSON文件中,还是使用某种持久层(即数据库)存储数据,然后序列化/反序列化JSON以进行通信?如果只是物理文件,为什么?您是否能够处理并发性?您需要服务器端处理来保存到JSON文件—无论是在后台直接保存到JSON文件、平面文件还是数据库。您有哪些服务器端编程语言?(PHP、.NET、python、Java等)