最近在使用jqGrid時出現parsererror問題,表格數據顯示不出來。後來查了一下,發現是由於取回來的XML數據中含&字符。按照下面連接中的方法解決了。html
http://stackoverflow.com/questions/15061769/jqgrid-parsererror服務器
也就是下面兩步:spa
1. 在服務器端將含有&等XML保留字的數據用"<![CDATA[" 和 "]]>"包含一下,而後再返回,即形如:code
<row id = 'unique_rowid1'> <cell> cellcontent </cell> <cell> <![CDATA[index&.html]]> </cell> … </row> <row id = 'unique_rowid2'> <cell> cellcontent </cell> <cell> <![CDATA[<font color='red'>cell</font> content]]> </cell> … </row>
2. jqGrid加上autoencode: trueorm
備註:1)用了此方法後,仍出現parsererror問題,後來又檢查發現本身的row id中也含有&符號,由於CDATA沒法用於attribute值,只能用於element中,因此又從新將row id進行了定義,才解決這個問題。xml
2)表格中本來一列是連接到圖片,autoencode: true之後,圖片沒法顯示,而顯示的是字符串<img ...., 後將此列加上formatter: "showlink",圖片才正常顯示。
htm