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