HandsOnTable:如何从 PHP 服务器脚本加载数组?

Posted

技术标签:

【中文标题】HandsOnTable:如何从 PHP 服务器脚本加载数组?【英文标题】:HandsOnTable: How to load an array from a PHP server script? 【发布时间】:2015-04-03 08:55:39 【问题描述】:

我在使用 php 脚本通过 Ajax 层加载数组然后将生成的数组推送到 HandsOnTable 组件插件时遇到问题。我“认为”我的问题是,无论我尝试什么,结果数组都会变成一个对象(已经用 typeof() 测试过)检查。

这是我的 PHP:

$listArray[] = array('First Name', 'Last Name', 'Email','Status');

这是我返回的 JSON:

"returnText":"OK","returnCode":"200","listArray":[["First Name","Last Name","Email","Status"]]

这是我的 javascript post-jQuery.parseJSON():

bulkListData = returnText['listArray'];

$("#table").handsontable(
      data: bulkListData,
      [...other values below...]

返回的数组是一个对象。我查看了几篇关于如何在客户端将其转换为数组的帖子,但所有方法都会产生一个 Object var。据我了解,HandsOnTable 在数据期间需要一个数组:加载构造。

寻找具有从 PHP 服务器脚本加载数据并将其分配到 HandsOnTable 组件中的经验的人。

提前谢谢你!

【问题讨论】:

【参考方案1】:

发现我的问题。这不是返回类型。我的 dataSchema 与结果数组不匹配。

修改了我的 PHP:

$listArray[] = array('name'=>array('first'=>$candidate['name_first'],'last'=>$candidate['name_last']),'email'=>$candidate['email'],'status'=>"");

修改了我的 Javascript HandsOnTable 声明:

dataSchema: name: first: null, last: null, email: null,status: null,
      colHeaders: ['First Name', 'Last Name', 'Email','Status'],
      columns: [
        data: 'name.first',
        data: 'name.last',
        data: 'email',
        data: 'status'
      ],

【讨论】:

以上是关于HandsOnTable:如何从 PHP 服务器脚本加载数组?的主要内容,如果未能解决你的问题,请参考以下文章

Handsontable Grid - 从 aspx 网页加载和保存数据

HandsonTable 通过从 ajax 加载对数据进行排序

如何从handsontable返回JSON格式的数据?

如何将更新的列名从 HandsOnTable 传递到 Shiny 中的绘图?

如何从 Handsontable 中的源数据中获取行

从启用 AJAX 的 WCF 服务加载 Handsontable