加载存储在phonegap中的文本文件中的数组

时间:2014-08-19 11:45:02

标签: javascript cordova

不使用jquery mobile或其他框架,将/ www字典中的文本文件中的二维字符串数据加载到phonegap中的javascript数组中的最有效方法是什么?

如果重要的话,还要觉得文本文件的格式是最好的。

我试过了:

var request = new XMLHttpRequest();

request.open("GET", "/android_asset/data.txt");

request.onreadystatechange = function() {//Call a function when the state changes.
    console.log("* data.txt1 " );

    if (request.readyState == 4) {

        console.log("*" + request.responseText + "* data.txt2" );

    }
};

request.send();

它给了我错误:

  

[INFO:CONSOLE(0)]“XMLHttpRequest无法加载文件:///android_asset/data.txt。仅支持HTTP的交叉源请求。”,source:file:/// android_asset / www / index。 html(0)

1 个答案:

答案 0 :(得分:3)

由于您使用的是cordova,为什么不使用提供的本机文件系统支持。下面的代码应该适用于iOS和Android。

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) {
            fs.root.getFile("../myapp/www/content/" + "words.txt", null, function(fe)
            {
                fe.file(function(f) {
                    var reader = new FileReader();
                    reader.onloadend = function(evt) {
                        // do sth with the reader.result data    
                        console.log(reader.result);
                    }
                    reader.readAsText(f);
                }, fail);
            }, fail);
        }, fail);

fail只是处理上述代码中失败案例的回调。