HandsOnTable: Как загрузить массив из скрипта PHP-сервера?
У меня возникают проблемы при загрузке массива с использованием 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...]
}
Возвращаемый массив - это объект. Я просмотрел несколько сообщений о том, как преобразовать это в массив на стороне клиента, но все методы приводят к объектной переменной var. Насколько я понимаю, HandsOnTable требует массив во время data: load load.
Ищете тех, у кого есть опыт загрузки данных из сценария 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'}
],