代码之家  ›  专栏  ›  技术社区  ›  ZeroCool

jqGrid无法从服务器加载xml数据

  •  1
  • ZeroCool  · 技术社区  · 15 年前

    我使用的是jqGrid 3.5.2,在从服务器端加载xml文件时遇到问题。

    顺便说一句,我在附近发现了一篇类似的帖子,但没有多大帮助。

    这是我的客户端代码:

    $(”#list4″).jqGrid({ url:'http://localhost/cgi-bin2/test.pl', datatype: 'xml',
             mtype: 'GET', height: 400, colNames:['No','Date'],
             colModel:[ {name:'call', index:'call', width:60, sorttype:'int'},
                        {name:'num',index:'num', width:90, sorttype:'int'}],
             multiselect: true,
             rowNum:10, rowList:[10,20,30], sortname: 'call',
             viewrecords:true, caption:'dummy'});
    

    我的服务器端响应返回:

    Content-Type: Content-type: text/xml;charset=utf-8 
       <?xml version='1.0' encoding = 'utf-8'?>
       <rows> <page>1</page> <total>1</total> <records>2</records>
       <row><cell>20</cell><cell>200</cell></row>
       <row><cell>30</cell><cell>300</cell></row> </rows>
    

    客户端确实通过Ajax正确地接收了整个数据,但不幸的是没有将数据添加到表显示中。代码有问题吗?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Eli Grey    15 年前
    • 不能对JavaScript字符串或XML属性使用花哨的引号。
    • 在最后一个HTTP响应头之后,需要有一个额外的换行符。
    • 在中的“xml”和“version”之间放置空格 xmlversion
    • 确保 gridimgpath 定义了。
        2
  •  0
  •   Ron Harlev    15 年前

    如果这条线

    Content-Type: Content-type: text/xml;charset=utf-8
    

    响应缓冲区必须是纯XML。 documentation 例如