[英]jqGrid renders empty table
我一直在嘗試使用jqGrid 4.1.2渲染表,我能夠從服務器端獲取JSON響應,但是我得到的是空表。 這是我的示例JSON數據:
{
"response":{
"total":2,
"page":1,
"rows":[{
"id":135060,
"cell":{
"id":135060,
"name":"12"
}
},
{
"id":115060,
"cell":{
"id":115060,
"name":"12345"
}
}
]
},
"status":"SUCCESS",
"errors":[]
}
我已經添加了jqgrid-locale-en.js文件,所以這不應該成為問題。 在花了一些時間之后,我覺得它與jqGrid期望的JSON格式有關。
謝謝!
對於仍然無法解決問題的情況,這里是解決方案。 您應該使用以下jsonReader
:
jsonReader : {
repeatitems : false,
root: 'response.rows',
page: 'response.page',
total: 'response.page',
records: function (obj) { return obj.response.rows.length; }
}
然后將讀取數據(請參閱演示 )。 我想您在JSON數據中使用了不正確的total
屬性,並且根本沒有設置records
屬性。
此外,您不應在標准響應中設置錯誤消息。 HTTP協議支持狀態碼 。 如果在服務器端檢測到錯誤,則服務器應在HTTP標頭中設置錯誤的HTTP代碼 。 如果jqGrid中的數據處理順序是另一種方式 ,則應該使用loadError
事件解碼錯誤消息並為用戶顯示結果。
默認情況下,jqGrid不希望單元格鍵中的數據包含name:value配對。 如果要使用name:value配對,則需要研究使用jsonReader選項並將重復項設置為false。 還請確保每個鍵的名稱與相應的colModel名稱完全相同。
沒有更多代碼很難說。 在問類似這樣的問題時,您應該發布所有代碼,但請嘗試類似這樣的事情以及您要設置的其他選項...
$("#id").jqGrid({
url: "url"
mtype: "post",
datatype: "json",
jsonReader: {
repeatitems: false,
root: "response.rows",
cell: "cell",
id: "id",
page: "page",
total: "total",
records: "records"
},
});
看來您也沒有傳回記錄鍵,它是服務器端調用返回的總行數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.