我第一次使用带有grails的jqgrid并面临一些问题。我在我的gsp中设置了jggrid,如下所示
<link rel="stylesheet" href="${resource(dir:'css',file:'ui.jqgrid.css')}" />
<link rel="stylesheet" href="${resource(dir:'css/ui-lightness',file:'jquery
ui-1.8.23.custom.css')}" />
<g:javascript library="jquery-1.7.2.min"/>
<g:javascript library="jquery.jqGrid.min"/>
<script type="text/javascript">
$(document).ready(function() {
jQuery("#g-grid").jqGrid({
datatype: "json",
mtype: 'GET',
url: '${createLink(controller: 'roadmap', action: 'listRequestsAsJSON')}',
colNames: ['Entry Type', 'Life Cycle Status'],
colModel: [
{name:'roadMapEntryTypeCode',index:'roadMapEntryTypeCode', editable:'true'},
{name:'lifeCycleStatusCode',index:'lifeCycleStatusCode',editable:'true'}
],
pager: jQuery('#g-pager'),
viewrecords: true,
gridview: true
});
});
</script>
并且控制器中用于获取响应的代码是
def listRequestsAsJSON = {
def r = AssetRoadmap.findAllByAsetIDAndRoadMapEntryTypeCode(Asset.get(10033), CodeConstants.ROADMAP_ENTRY_TYPE_CODE_LIFECYCLE, [sort:"roadMapEventStartDate", order:"asc"])
def jsonCells = r.collect {
[ id: it.id,
cell: [
it.roadMapEntryTypeCode,
it.lifeCycleStatusCode
]
]
}
def jsonData= [rows: jsonCells]
render jsonData as JSON
}
当我在Firefox中查看响应时(使用Firebugs)我没有看到它作为响应但是当我在浏览器中手动渲染jsp时我得到了
{ “行”:[{ “ID”:10172, “细胞”:[ “生命周期”, “消灭”]},{ “ID”:10173, “细胞”:[ “生命周期”, “归档” ]},{“id”:10174,“cell”:[“LIFECYCLE”,“CONTAINMENT”]}}}
在我看来是正确的,所以不确定问题在哪里,任何帮助将不胜感激。谢谢!!!
答案 0 :(得分:0)
请求实际上是将请求重定向到其他地方,因此json响应没有到来。我得到了302状态的线索,虽然很好学习