0
我有一个visualforce页面,我正在使用jqgrid在此页面上显示数据。 jqgrid指向的url是一个仅输出JSON数据的visualforce页面(https://test.visual.force.com/apex/GridResults)。此页面没有任何标题或HTML信息。用visualforce中的数据填充jqgrid页面
问题是,当我运行这个页面时,网格呈现列名但没有数据。 当我运行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 2010-07-20 20:22:38
另外一个:你确定你不需要“jsonReader”或类似的东西吗?查看http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data上的示例和警告,您的JSON是否符合所需的格式? – eyescream 2010-07-20 20:29:52
感谢您的回复eyescream。好点,我没有检查过MIME类型。目前,我通过使用apex:actionFunction调用visualforce控制器做了一个解决方法。当数据返回时,我建立一个数组并将其传递给jqgrid!目前正常工作。 – jack 2010-07-21 08:55:25