Здесь, в массиве, который у меня есть в javascript, это отлично работает!
_rowData: [ { name: "Most Recent", view: "recentView" }, { name: "Most Popular", view: "popularView" }, { name: "Staff Picks", view: "staffView" } ],
Как я могу сгенерировать этот массив из php-скрипта? Я хочу использовать AJAX для получения результатов, возвращаемых php.
Благодаря!
EDIT Как я могу манипулировать этим php, возвращенным json, обратно в _rowData
?
Попробуйте использовать JSON. PHP-функция json_encode ()
EDIT: Пример кода (серверная сторона – PHP):
// data handling $arrayToSend = array(array('name'=>'Most Recent', 'view'=>'recentView'), array('name'=>'Most Popular', 'view'=>'popularView'), array('name'=>'Staff Picks', 'view'=>'staffView')); echo json_encode($arrayToSend);
Клиентская сторона (javascript). Примечание: YUI используется для отображения обработки на стороне клиента:
var callback = {success: function(req) { selectItems(req.responseText); } }; YAHOO.util.Connect.asyncRequest('GET',url + '?param=1',callback); function selectItems(resp) { var result = eval('(' + resp + ')'); for (var i=0; i < result.length; i++) { // Do whatever you want with array result :) } }
Комментарии : 1) В скрипте PHP вы должны сделать ответ, который выводит ваш массив, предварительно закодированный в формате JSON. 2) Кроме YUI, вы также можете использовать любую соответствующую библиотеку JavaScript для генерации запроса AJAX (например, JQuery , Prototype ). В моем случае я использовал функцию eval () для создания массива из ответа JSON.
Надеюсь, это поможет вам.
Пример json_encode () :
<?php $data = array('name' => 'Imran', 'age' => 23); echo json_encode($data); ?>
выходы
{ 'name': 'Imran', 'age': 23 }