1

CSVファイルからデータを取得し、それをAJAX経由でWebサービスに渡すことができる配列に配置する方法を知っている人はいますか?

4

2 に答える 2

1

私の答え全体を素敵なjQueryソリューションに置き換えました:

$(document).ready(function() {
            var data = '"REVIEW_DATE","AUTHOR","ISBN","DISCOUNTED_PRICE"    "1985/01/21","Douglas Adams",0345391802,5.95    "1990/01/12","Douglas Hofstadter",0465026567,9.95   "1998/07/15","Timothy ""The Parser"" Campbell",0968411304,18.99 "1999/12/03","Richard Friedman",0060630353,5.95 "2001/09/19","Karen Armstrong",0345384563,9.95  "2002/06/23","David Jones",0198504691,9.95  "2002/06/23","Julian Jaynes",0618057072,12.50   "2003/09/30","Scott Adams",0740721909,4.95  "2004/10/04","Benjamin Radcliff",0804818088,4.95    "2004/10/04","Randel Helms",0879755725,4.50';

            var array1 = data.split("\t");
            var array2 = new Array();

            for (var i = 0; i < array1.length; i++) {
                array2.push(array1[i].split(","));
                for (var j = 0; j < array2[i].length; j++) {
                    $('ul').append('<li>'+array2[i][j]+'</li>');
                }               
                $('ul').append('<li><hr></li>');
            }
        });

唯一の違いは、CSV ファイルを取得するために次の操作を行う必要があることです...

   $.ajax({
      url: "file.csv",
      success: function(data) {
        var array1 = data.split("\t");
        var array2 = new Array();

        for (var i = 0; i < array1.length; i++) {
            array2.push(array1[i].split(","));
            for (var j = 0; j < array2[i].length; j++) {
                $('ul').append('<li>'+array2[i][j]+'</li>');
            }               
            $('ul').append('<li><hr></li>');
        }
      }
    });
于 2012-08-30T12:12:32.800 に答える
1

FileReference と FileAPI は、最新のブラウザーで利用できるライブラリです。ファイルを受信し、文字の配列としてアクセスした後、正規表現または分割を適用できます。

例:

// this first part is from FileAPI
// it allows you access to files that
// the user has selected
var file = $('#file').get().files[0];
data = getAsText(file);

// assuming you'll use a semicolon as separator
// and you're not forcing all fields to be quoted
var an_array = data.split(";");

$.post('script.php', an_array, function(response) {
    // Do something with the response
}, 'json');

このgetAsText()関数は API の一部ではありません。私はここから読みましたが、完全にコピーする理由はありません。

使用できますか を検索します。コム

于 2012-08-30T12:13:23.963 に答える