【发布时间】:2018-09-14 00:28:56
【问题描述】:
我已经用谷歌搜索了这个问题并找到了几个解决方案。但其中大部分是针对离子2和角度2的。我不知道我正在使用的角度5和离子3是否有任何变化。
我有一个本地 json 文件,我正在从中获取我的数据。在浏览器中它工作得很好,但在我的安卓平板电脑上我的数据没有显示。
我找到的解决方案主要是关于路径问题。他们中的大多数人说要像这样改变android的路径:
service.ts
loadData() {
var url = 'assets/data/skills.json';
if (this.platform.is('cordova') && this.platform.is('android')) {
url = "/android_asset/www/" + url;
}
return new Promise(resolve => {
this.http.get(url)
.subscribe((data) => {
resolve(data);
}, err => {
console.log(err);
});
});
}
service.ts的路径:
项目/src/providers/service/service.ts
我的json文件的路径:
项目/src/assets/data/skills.json
查看我的研究,我假设 android 部署的 json 文件的路径必须是这样的:
Project/android_asset/www/assets/data/skills.json
但文件夹“android_asset”甚至不存在于我的项目中,但大多数研究表明它应该存在。或者这可能只是在较旧的角度/离子版本中?
我该如何解决这个问题?
【问题讨论】:
-
@SurajRao 这基本上是我已经拥有的代码,但这仍然行不通
-
我建议尝试使用类似于链接的网址,而不是整个 Project/android_asset/..
-
@SurajRao 当您查看我的代码时,我没有使用整个路径。我使用相对路径。为了清楚起见,我只是在我的问题中写了整个路径,我的文件在哪里。
-
另外一个错字你有字符串
'url'而不是变量:this.http.get('url')
标签: android json angular typescript ionic-framework