0

我想读取一个带有标题的 CSV 文件,以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 错误通知

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

"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 标头。

4

1 回答 1

2

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

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

此外,要正确映射数据,您需要使用数据表列配置,如 next

      columns:[
          { id:"data0", header:"x" },
          { id:"data1", header:"y" },
          { id:"data2", header:"z" }],

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

于 2015-12-10T08:30:53.033 回答