我正在使用AngularJS创建一个phonegap应用程序,它使用.json文件来存储一系列条目.我的目标是允许用户将其中一些标记为收藏夹,然后在其他地方使用该数据(例如,仅包含收藏夹的另一页面).
第一次进行Web开发,我不得不说我对AngularJS,JSON,PhoneGap等Web技术都很陌生(我正在使用它们),所以也许这个问题是废话,但在这里我无论如何.
我试图将这些数据保存在WebS数据库中的IndexedDB,WebStorage中….但这些方法似乎与PhoneGap结合起来很复杂,所以我现在正在尝试修改.json文件中的字段,保存修改后的文件.
我知道JS无法写文件,但我试图通过POST发送文件来填补这个空白.这是我正在使用的函数的代码:
$scope.save = function() {
$http({
method: 'POST',
url: 'data.json', //this is the json file with all the information I use
data: $scope.json_data //this contains the modified data
}).success(function(response) {
addLog("Success message.");
}).error(function(response){
addLog("Error message.");
});
}
我不想写很多代码来处理请求服务器端(我甚至不知道PhoneGap是否会处理它……),因为我老实说甚至不知道从哪里开始这样做.我不知道transformRequest或其他简单的东西是否可以让我保存json文件…有什么见解?我应该用一些魔法代码保存修改后的.json文件,或者我是否以错误的方式看待这个问题并且应该走另一条道路?
谢谢!
解决方法:
您可以使用多种选项.
> HTML5 localStorage API.这可能是最简单的.它是基于键值的,具有字符串键和字符串值.它也非常便携.根据应用程序的简单程度,这可能是最好的.您可以将项目设置为window.localStorage的属性或使用getKey / setKey.网上有大量关于此的文档和教程.
>警告:在Windows Phone 7上,您不能使用点表示法.您必须使用后一种方法.
>使用Cordova File API.它在操作系统上的性能不如localStorage,但它仍然相当可靠.这是一个link到更多的信息.
>警告:除了跨操作系统不兼容之外,您可能还必须将其安装为插件.这是命令:cordova plugin add org.apache.cordova.file.
这是一些有用的链接:
> https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md
> http://docs.phonegap.com/en/3.5.0/cordova_storage_storage.md.html
> http://docs.phonegap.com/en/3.5.0/cordova_plugins_pluginapis.md.html
> http://docs.phonegap.com/en/3.5.0/index.html
原文地址:https://codeday.me/bug/20190830/1769276.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。