我有一個公開的Web服務,它以JSON或XML格式返回數據。我建立了一個JSP頁面並添加到jQgrid中。數據顯示得很好,但是當我嘗試使用filterToolbar過濾結果時失敗。 Firebug說:「 TypeError:jQuery.jgrid is undefined」。jQgrid filterToolbar失敗,搜索輸入
我讀過幾乎每一篇關於jQuery和jqGrid的文章,我不知道爲什麼我得到這個錯誤。我從一個appfuse原型運行hibernate和Spring MVC。/services/api/vulnss將根據請求的類型返回xml或json。 json和XML都可以很好地填充網格,我可以對所有內容進行排序和翻頁。
<html>
<head>
<link href="/resources/css/ui.jqgrid.css" rel="stylesheet" type="text/css"/>
<link href="/resources/css/ui.jqgrid-bootstrap.css" rel="stylesheet" type="text/css"/>
<link href="/resources/css/ui.jqgrid-bootstrap-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="/resources/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/resources/js/i18n/grid.locale-en.js"></script>
<script type="text/javascript" src="/resources/js/jquery.jqGrid.min.js"></script>
</head>
和腳本部分:
<script type="text/javascript">
變量$ J = jQuery.noConflict(); (函數($ j)的{
$j().ready(function(){
$j("#jqGrid").jqGrid({
url: '/services/api/vulns',
mtype: "GET",
//styleUI : 'Bootstrap',
datatype: "xml",
colModel: [
{ label: 'idcveconfig', name: 'idcveconfig', key: true, width: 75 },
{ label: 'cveid', name: 'cveid', width: 150 },
{ label: 'product', name: 'product', width: 150 },
{ label: 'version', name: 'version', width: 150 },
{ label:'vendor', name: 'vendor', width: 150 },
{ label:'vulnsummary', name: 'vulnsummary', width: 150 }
],
viewrecords: true,
loadonce: true,
height: 250,
rowNum: 20,
gridview: true,
pager: "#jqGridPager",
caption: "LOading data from server at once",
xmlReader : {
root: "List",
row: "item",
//page: "rows>page",
//total: "rows>total",
//records : "rows>records",
repeatitems: false,
//cell: "cell",
//id: "[id]",
//userdata: "userdata",
}
});
$j("#jqGrid").filterToolbar({searchOnEnter : true});
});
})(jQuery);
我打開了開發工具與鍍鉻和控制檯我換用jQuery的$ j和它返回FALE。我不完全相信它應該是返回,但串307場 「idcveconfig」 中存在。
你可以把它添加到jsfiddle嗎? –
哪個版本的jqGrid和從哪個分支的jqGrid([免費jqGrid](https://github.com/free-jqgrid/jqGrid),[Guriddo jqGrid JS](http://guriddo.net/?page_id=103334 )或者使用<= 4.7版本的舊版jqGrid)?你能否將jqGrid的URL更改爲URL以釋放jqGrid(參見[wiki](https://github.com/free-jqgrid/jqGrid/wiki/Access-free-jqGrid-from-different-CDNs))並驗證是否這個問題也存在於免費的jqGrid中嗎?如果問題存在,請提供可用於重現問題的演示(帶有非最小化的'jquery.jqgrid.src.js')。 – Oleg
我正在使用Guriddo的最新版本,所以5.2。切換到免費的jqGrid後,我看到一些UI的事情清除了,它在Chrome上運行的更好。但我仍然在同一地點失敗。但失敗有點更清楚。 substr(0,3)==字符串(「307」)「未捕獲的類型錯誤:無法讀取未定義的屬性'getAccessor'(String(jQuery.jgrid.getAccessor(this,'idcveconfig')).toUpperCase ).toUpperCase())「 –