jqGrid. Данные (JSON) есть - решётки нет
Заинтересовался этим чудом с нехитрым названием jqGrid, но сразу возникла проблема: делаю всё по аналогии с демками, от сервера приходит совершенно валидный JSON, а решётки нет.
Если кто сталкивался с jqGrid, подскажите в чём шило?
Привожу код:
Код:
<link rel="stylesheet" type="text/css" media="screen" href="../public_js/jqgrid/css/ui.jqgrid.css" mce_href="../public_js/jqgrid/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../public_js/jquery-ui/css/smoothness/jquery-ui-1.8.11.custom.css" mce_href="../public_js/jquery-ui/css/smoothness/jquery-ui-1.8.11.custom.css" />
<script type="text/javascript" src="../public_js/jqgrid/js/i18n/grid.locale-ru-cp1251.js"></script>
<script type="text/javascript" src="../public_js/jqgrid/js/jquery.jqGrid.min.js"></script>
<table id="transfer_points"></table>
<div id="transfer_points_pager"></div>
<script type="text/javascript">
$(function(){
var tableTP = $("#transfer_points");
$(tableTP)
.jqGrid({
caption: 'Точки отправления',
rownumbers: true,
rownumWidth: 20,
width: '800',
height: '400',
hiddengrid: false,
url: '../admin/transfer',
editurl: '../admin/transfer',
datatype: 'json',
mtype: 'POST',
postData: {act: 'points'},
colNames: ['ID', 'Наименование', 'Валюта'],
colModel: [
{name: 'id', index: 'id', width: 40, align: 'right'},
{name: 'title', index: 'title', width: 200},
{name: 'currency', index: 'currency', width: 60, align: 'center'}
],
viewrecords: true,
pager: 'transfer_points_pager',
rowNum: 10,
rowList: [10, 50, 100],
sortname: 'title',
sortorder: 'asc',
multiselect: true
})
.navGrid('#transfer_points_pager',{edit:true,add:true,del:false});
});
</script>
<link rel="stylesheet" type="text/css" media="screen" href="../public_js/jquery-ui/css/smoothness/jquery-ui-1.8.11.custom.css" mce_href="../public_js/jquery-ui/css/smoothness/jquery-ui-1.8.11.custom.css" />
<script type="text/javascript" src="../public_js/jqgrid/js/i18n/grid.locale-ru-cp1251.js"></script>
<script type="text/javascript" src="../public_js/jqgrid/js/jquery.jqGrid.min.js"></script>
<table id="transfer_points"></table>
<div id="transfer_points_pager"></div>
<script type="text/javascript">
$(function(){
var tableTP = $("#transfer_points");
$(tableTP)
.jqGrid({
caption: 'Точки отправления',
rownumbers: true,
rownumWidth: 20,
width: '800',
height: '400',
hiddengrid: false,
url: '../admin/transfer',
editurl: '../admin/transfer',
datatype: 'json',
mtype: 'POST',
postData: {act: 'points'},
colNames: ['ID', 'Наименование', 'Валюта'],
colModel: [
{name: 'id', index: 'id', width: 40, align: 'right'},
{name: 'title', index: 'title', width: 200},
{name: 'currency', index: 'currency', width: 60, align: 'center'}
],
viewrecords: true,
pager: 'transfer_points_pager',
rowNum: 10,
rowList: [10, 50, 100],
sortname: 'title',
sortorder: 'asc',
multiselect: true
})
.navGrid('#transfer_points_pager',{edit:true,add:true,del:false});
});
</script>
Скрипт отрабатывает, отправляет серверу вопрос, получает в ответ JSON (валидатором проверял - всё корректно):
Код:
[{"id":"3","title":"\u0421\u0435\u0432\u0430\u0441\u0442\u043e\u043f\u043e\u043b\u044c. \u0436\/\u0434 \u0432\u043e\u043a\u0437\u0430\u043b","currency":"UAH"},{"id":"1","title":"\u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u044c \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442","currency":"UAH"},{"id":"2","title":"\u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u044c. \u0416\/\u0434 \u0432\u043e\u043a\u0437\u0430\u043b","currency":"UAH"},{"id":"5","title":"\u0422\u0440\u0443\u0441\u043a\u0430\u0432\u0435\u0446, \u0436\/\u0434 \u0432\u043e\u043a\u0437\u0430\u043b","currency":"EUR"},{"id":"4","title":"\u0422\u0440\u0443\u0441\u043a\u0430\u0432\u0435\u0446. \u0410\u044d\u0440\u043e\u043f\u043e\u0440\u0442","currency":"EUR"}]
Характерно, что если эти буквы в лоб присвоить переменной и вручную закатать в грид - всё работает.
Как отдаются данные из скрипта? Строкой, а потом eval'ятся на строне клиента или текстом, как тут представлено?
вот так и отдаются как написано. на стороне сервера json_encode() возвращает. у меня так всё нормально работает, что я сам писал. а вот с jqGrid какой-то затык вышел. Или я просто чего-то не понял. Но вроде уже проштудировал и документацию с офсайта, и русскоязычные мануалы - с виду всё как положено, а не работает.