-2

我正在编写 Jquery 以读取 CSV 并转换为数组,然后发送到服务器(servlet),但它显示为空。请改正

在 HTML 中

导入 jquery/1.8.2/jquery.min.js

导入http://jquery-csv.googlecode.com/git/src/jquery.csv.js

输入类型“文件”

按钮名称“点击我”

脚本 -

$(文档).ready(函数(){

$("按钮").click(函数(事件){

var files = $('#files').prop("files");

var reader = new FileReader();

var data = new Array();

reader.readAsText(files[0]);

reader.onload = function(event){

       var csv = event.target.result;

        data = $.csv.toArrays(csv);


       };

$.post("UploadCSVServlet",{arraydata:data,mode:"Insert"},

功能(数据){

    alert("Data Loaded: " + data);

});

}); });

在 Servlet 中:

public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    System.out.println("enter upload servlet");
    resp.setContentType("text/plain");
    //resp.getWriter().println("Hello, world");
    String jsresponse="No Message";

       try
        {
        String arrayData[] = req.getParameterValues("arraydata[]");
        //String data[]=request.getParameterValues("arraydata[]");
        jsresponse = arrayData[0] +" - ";//"Test Response!";

        }
        catch(Exception ex)
        {
         jsresponse = ex.toString();               
        }
        resp.getWriter().write(jsresponse);
    }

它返回空值

4

1 回答 1

1

var files = $('#files').prop("files");

var reader = new FileReader();

var data = new Array();

reader.readAsText(文件[0]);

reader.onload = 函数(事件){

   var csv = event.target.result;

    data = $.csv.toArrays(csv);

$.post("UploadCSVServlet",{arraydata:data,mode:"Insert"},

功能(数据){

alert("Data Loaded: " + data);

});

};

}); });

我用这个。现在它的工作

只需将括号放在函数(数据)之后。

谢谢大家。

于 2014-10-15T06:03:50.470 回答