У меня есть страница visualforce, и я использую jqgrid для отображения данных на этой странице. URL-адрес, который указывает jqgrid, является страницей visualforce (https://test.visual.force.com/apex/GridResults), которая выводит только данные JSON. На этой странице нет информации о заголовке или html.Заполните jqgrid с данными из visualforce page
Проблема в том, что когда я запускаю эту страницу, сетка отображает имена столбцов, но не данные. Когда я запускаю URL-адрес, он выводит данные JSON. Я вставил ниже кода.
jQuery("#list").jqGrid({
url:"https://test.visual.force.com/apex/GridResults",
datatype: "json",
colNames: [{!fieldNames}], -- property in controller which outputs fieldnames
colModel: [{!colModel}], -- property in controller which outputs column definition
rowNum: 10,
rowTotal:10,
rowList: [20, 40, 60],
loadonce:true,
mtype:"GET",
gridView:true,
pager: '#pager',
sortname: 'Record ID',
sortorder: "desc",
width: 1200,
height: 400,
caption: "Accounts"
});
jQuery("#list").jqGrid('navGrid', "#pager", { edit: true, add: true, del: false })
};
Любые идеи о том, почему данные со страницы не используются jqgrid? Помощь очень ценится.
Можете ли вы попробовать отладить javascript (например, используя плагин Firefox Firebug) или для IE, просто помещающего оператор «отладчик» где-то в javascript)? С Firebug вы должны иметь возможность проверять заголовки (если есть) и определять, действительно ли данные поступают. Также - как jqgrid обрабатывает типы MIME? Может быть, ему нужны «application/json» и выходы Salesforce «text/html»? – eyescream
Еще один: вы уверены, что вам не нужен «jsonReader» или что-то подобное? Ознакомьтесь с примерами и предупреждениями по адресу http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data, соответствует ли ваш JSON требуемый формат? – eyescream
благодарит за ваш ответ eyecream. Хорошая точка, я не проверял тип mime. На данный момент я сделал обходной путь, вызвав контроллер visualforce, используя apex: actionFunction. когда данные возвращаются, я строю массив и передаю его в jqgrid! На данный момент работает нормально. – jack