我在使用PHP脚本通过Ajax层加载数组时遇到问题,然后将生成的数组推送到HandsOnTable组件插件中。我“认为”我的问题是无论我尝试什么,结果数组都变成了一个Object(用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组件的人。
提前谢谢!
答案 0 :(得分:0)
发现我的问题。它不是返回类型。我的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'}
],