如何在Webix数据表中读取带有标题的CSV文件?

时间:2015-12-09 20:03:06

标签: csv webix

我想阅读带有标题的CSV文件,以便在documentation之后填充datatable小部件。但是,当我执行以下代码时出现uncaught exception: [object XMLHttpRequest]错误:

<!DOCTYPE HTML>
<html>
    <head>
    <link rel="stylesheet" href="http://cdn.webix.com/edge/webix.css" type="text/css"> 
    <script src="http://cdn.webix.com/edge/webix_debug.js" type="text/javascript"></script>
    <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="//cdn.opencpu.org/opencpu-0.4.js"></script>
    </head>
    <body>
      <script type="text/javascript" charset="utf-8">
webix.ui({
    rows:[
        { view:"template", 
          type:"header", template:"Read in a CSV" },
        { view:"datatable", 
          columns:[
              { id:"#x#", header:"x" },
              { id:"#y#", header:"y" },
              { id:"#z#", header:"z" }],
          datatype:"csv",
          autoheight:true,
          autowidth:true,
          url:"data/basic.csv"
        }
    ]
});
      </script>
    </body>
</html>

此外,我看到以下通知显示在浏览器的右上角。

webix error notifications

日志中的错误详细信息为:

"XHTTP:" XMLHttpRequest { onreadystatechange: webix.ajax.prototype._send/x.onreadystatechange(), readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, status: 0, statusText: "", responseType: "", response: "x,y,z
1,1,23.3
1,2,15.8
2,1,88.3
2,2,83.5
", responseText: "x,y,z
1,1,23.3
1,2,15.8
2,1,88.3
2,2,83.5
" } webix_debug.js:3240
uncaught exception: [object XMLHttpRequest]

似乎可以正常读取CSV文件。为什么不显示?我不得不承认,我发现文档很混乱,因为它根本没有提到CSV标题。

1 个答案:

答案 0 :(得分:2)

您是通过http(使用某种Web服务器)运行示例页面,还是直接从文件系统打开它?

由于安全限制,ajax请求可能不适用于直接从文件系统加载的页面。

另外,要正确映射数据,您需要使用数据表列配置,如下一步

extern "C"

DataTable无法识别标题并将CSV数据映射到抽象data0..dataN属性。