在 Cordova 中使用 Papaparse 解析本地 CSV 文件 iOS

Parsing local CSV file using Papaparse in Cordova iOS

我正在使用 Papaparse 并尝试解析保存在 www 内的文件夹中的 CSV 文件。

它适用于 androidbrowser 平台。

但是,当涉及到iOS时,它returns错误回调。

当我输出错误时,returns undefined.

我也检查了iOS的文件路径是否正确,文件确实存在。

我已经尝试将文件路径设置为 "folder/myfile.csv" 但由于它导致错误,我尝试使用文件插件获取其完整路径。

还有其他人遇到同样的问题并有解决方法吗?

这是我的代码。

var getOldData = function() {
    var dir = "folder/myfile.csv",
        file = null;

    file = (isiOS) ? cordova.file.applicationDirectory + "www/" + dir : dir;

    Papa.parse(file, {
        download: true,
        error: function(err, file) {
            console.log(">>>> PAPA PARSE ERROR");
            console.log(">>>>" + err); // this returns undefined
            console.log(">>>>" + file); // this returns undefined as well
        },
        complete: function(results) {
            console.log(">>>> PAPA RESULTS");
            console.log(results);
        },
        header: true,
        dynamicTyping: true
    });
};

提前致谢!

同样的问题。

我在 ios 上的 pouchdb 加载中找到了 this issue。好像

... for some reason, iOS is returning 0 as the status for the xhr request even when there is data loaded from file

所以我在 papaparse _chunkLoaded 函数中更改了这一行

if (xhr.status < 200 || xhr.status >= 400)

来自这个:

if (!((xhr.status >= 200 && xhr.status < 300) || (xhr.status==0 && xhr.responseText.length>0)))

现在可以使用了。

我在相应的github issue中添加了相同的答案。 可能会包含此补丁。