ionic使用$ cordovaFile读取本地json文件

时间:2015-10-30 14:23:59

标签: android json path ionic ngcordova

我试图加载这样存储的本地json文件:

WWW / JSON / config.json

var path = '/android_asset/www/json'; //<-i have tried lots of differnt path's without success
var fileName = "config.json";
console.log('url: '+path+fileName);
console.log('file there?: '+angular.toJson($cordovaFile.checkFile(path, fileName)) );

$cordovaFile.readAsText(path, fileName).then(function (success) {
  console.log('read success: '+angular.toJson(success));
}, function (error) {
  console.log('read error: '+angular.toJson(error));
});

我使用了带有ngCordova插件的离子$ cordovaFile ...有没有人有建议? 我只想用&#34;默认&#34;发送我的应用程序。 json加载......

1 个答案:

答案 0 :(得分:3)

您无法使用www使用该路径读取$cordovaFile文件夹中的文件,$cordovaFile可通过file://协议访问该文件。

因为默认的json文件位于www文件夹中。以下是一些方法:

  1. 复制所有JSON内容并将其放入javascript文件中,并将该文件作为全局变量进行访问。 (必须将此文件包含在index.html

    var json = {myKey: "myValue"};
    
  2. 使用$resource作为服务(未经测试):

    $resource('file:///android_asset/www/json/myJson.json', {}, {
        query: { method: 'GET', params: {}, isArray: true }
    })
    
  3. 在您的控制器中使用$http

    $http.get('json/myJson.json')
    .success(function (data) {
        // The json data will now be in scope.
        $scope.myJsonData = data;
    });