Отправка дополнительных параметров в строке JSON в jqGrid - PullRequest
0 голосов
/ 04 марта 2011

Я использую PHP для генерации JSON для JQGrid. Я добавил еще одно свойство в объект PHP, который я кодирую JSON:

$sql_array = preg_split('/LIMIT/', $sql);
$pass_sql = $sql_array[0];
$response->sql = $pass_sql;
<~SNIP~>
echo json_encode($response);

Это нормально анализирует на стороне клиента и заполняет jqGrid JSON следующим образом:

{"page":"1","total":28,"records":"685","sql":"SELECT * FROM fires ORDER BY id desc ","rows":[{"id":"3065","cell":["Southern","Lost Fire","National Forests in Mississippi","492","100","0000-00-00",null,null,null,null,null,null,null,null,null,null,null,"3065","2011-03-03 00:00:00"]},{"id":"3064","cell":["Southern","PineTree","East Central Area Dispatch Office","420","80","2011-03-02",null,null,null,null,null,null,null,null,null,null,null,"3064","2011-03-03 00:00:00"]},{"id":"3063","cell":["Southern","LILAC ROAD","Georgia Forestry Commission","100","100","2011-03-01",null,null,null,null,null,null,null,null,null //etc

Мне нужно извлечь этот текст sql param из ответа JSON и спрятать его в DIV для дальнейшего использования. Это возможно?

1 Ответ

0 голосов
/ 04 марта 2011

Самый простой способ отправить дополнительную информацию с сервера в jqGrid - это userdata (см. этот ответ . Если ваши данные JSON будут похожи на

{
    "page":"1",
    "total":28,
    "records":"685",
    "userdata":"SELECT * FROM fires ORDER BY id desc ",
    "rows":[
       ...
    ]
}

или

{
    "page":"1",
    "total":28,
    "records":"685",
    "userdata": {
        sql: "SELECT * FROM fires ORDER BY id desc "
    },
    "rows":[
       ...
    ]
}

Дополнительная информация будет сохранена внутри jqGrid, доступ к которой можно получить с помощью $("#grid_id").jqGrid('getGridParam','userData').

Будьте осторожны в случае userData. В данных JSON это должно быть userdata, а в getGridParam: 'userData'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...