2

を使用してPapaparseおり、内のフォルダーに保存されている CSV ファイルを解析しようとしていますwww

androidおよびbrowserプラットフォームでうまく機能します。

ただし、 になるとiOS、エラー コールバックが返されます。

エラーを出力すると、 が返されます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
    });
};

前もって感謝します!

4

1 に答える 1

2

ここでも同じ問題。

iOSのpouchdbロードでこの問題を見つけました。のようだ

... 何らかの理由で、iOS は、ファイルからロードされたデータがある場合でも、xhr 要求のステータスとして 0 を返します

だから私は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に同じ回答を追加しました。このパッチが含まれる可能性があります。

于 2016-07-06T08:03:57.440 に答える