0

AJAX を使用してファイルをアップロードすることに関して、SO で山積みの質問を見つけましたが、どれも実際に私のニーズを見つけていないようです。

私がする必要があるのは、ユーザーに XML ファイルをアップロードしてもらい、XML ファイルを介してスクリプトを実行させ、ファイル内の特定のタグにあるデータを取り出し、タグを反映する対応する配列にデータをプッシュすることです。xml で本を見つけたとします。データは配列 NewBooks にプッシュされます。

私はPHPの経験がありません。正直なところ、私は混乱しています。PHPを使わない方法があれば、それは素晴らしいことです。

reader.onload = function (e) {
        console.log('reading file')
        $(document).ready(function () {
         console.log('analyzing ajax')
            $.ajax({
                type: "GET",
                dataType: "xml",
                success: function (xml) {
                    $(xml).find('book').each(function () {
                        UploadBooks.push($(this).text());
                    });            
                }
            })
        })
   console.log(UploadBooks);
}

これは私が持っているコードですが、印刷された UploadBooks には要素がありませんが、XML ファイルを調べると、明らかに book タグがあります。

4

1 に答える 1

3

すべてのブラウザーが Ajax 経由でファイルをアップロードできるわけではありません。XMLHttpRequest2をサポートするもののみ。(あなたの例のように)jQueryでそれを機能させるには、いくつかのトリックも必要です。

あなたは PHP を使いたくないと言いますが、それはとにかくファイルをアップロードする意味がないということです。クライアント側で XML ファイルを解析したい場合は、 HTML5 FileReader APIを調べてください。ファイルを DOM 構造にロードして、目的を達成できる場合があります。

于 2013-07-02T18:18:51.983 に答える