首页 > 解决方案 > 制表符和多维数组

问题描述

我正在尝试使用制表器通过多维数组将数据拉入表中。ajax 网址是:

http://router.project-osrm.org/trip/v1/driving/-70.90916105,42.25582485;-70.8696433396803,42.14069745;-70.932117427602,42.19070835;-70.978133423398,42.2180542;-71.0136192663477,42.27750325;-70.90916105,42.25582485?source=第一个&目的地=最后一个&步骤=真

当我尝试将其作为 ajaxURL 处理时,出现错误:

tabulator.min.js:3 数据加载错误 - 由于数据类型无效,无法处理数据预期:数组接收:对象

好的。有道理,因为我已经知道这是一个多维数组。我去的第一个地方是制表符文档。我发现 ajaxResponse 回调似乎是我需要从这样的多维数组中提取一组特定数据的工具(在这种情况下,距离数字位于 trips:0:legs:0/1/2/3 /4/5/6)。我已经做了好几天了,现在我不再确定这甚至可以用制表器的 ajax 加载器来完成。这是我最新的示例代码:

var url = "http://router.project-osrm.org/trip/v1/driving/-70.90916105,42.25582485;-70.8696433396803,42.14069745;-70.932117427602,42.19070835;-70.978133423398,42.2180542;-71.0136192663477,42.27750325;-70.90916105,42.25582485?source=first&destination=last&steps=true";
 var respone = "trips.0.legs.distance";
 var table = new Tabulator("#ex-table", {
  ajaxURL:"_trips.php",
  ajaxResponse:function(url,response){
    return distance
  },
  columns:[
    {title:"test",field:"distance"},
  ],
 });

正如您可能看到的,我对如何使用 ajaxResponse 回调的理解有限。

更新: 在等待回复时我自己想通了。我所要做的就是在 ajaxResponse 回调中定义数组结构。然后制表员知道从哪里获取数据。例子:

 var table = new Tabulator("#ex-table", {
  ajaxURL:"_trips.php",
  // ajaxParams:{trips.legs:"distance"},
  // index:"distance",
  columns:[
    {title:"leg step distance",field:"distance"},
  ],

  ajaxResponse:function(url,params,response){
    return response.trips[0]['legs'];
  },
 });

后续问题:是否可以从不同的 AJAX 源中提取数据(比如其中三个到单个制表符表中?

标签: javascripttabulator

解决方案


推荐阅读