这两天研究jqgrid,我用的jsp,用local方式能正常显示出来,但换成json形式就不行了
[code="java"]
<%@ page pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
这个可能的问题是你即时写了返回类型是json格式,但是jQGrid插件本身并未根据返回的类型Type来做处理,也即使把你返回的json格式的数据格式做json方式处理。
不过可以有个折中的方法来做,就是把你从服务器端返回的数据(json格式)使用eval,json=eval(json);这样子,使服务器返回的数据流转换成Json(Object),而不是Json(String),然后把你转换成的Json(Object)传入你的jQGrid,应该就可以了
用FF添加监控,看看到底是什么格式。
JSP跟JQGRID两码事....
我承认我的意思就是3楼说的,好吧我没说详细。所以让你看看你的数据到底是个啥,我以前有返回过,字符串格式的,还是自己写个方法来解析。
我也碰到相同的问题,正在解决之中。
http://www.trirand.com/blog/jqgrid/jqgrid.html
看上面的例子,然后输入:
http://www.trirand.com/blog/jqgrid/server.php?q=2&page=2&rows=20
可以看返回的json的格式,原因就在于json各项和值需要用引号引起来。
参考:http://www.cnblogs.com/oilsun/archive/2012/06/27/2565852.html
jquery从1.4开始,对json数据格式要求很严格,不允许使用''单引号,必须使用""双引号。
也就是说,不能不引起来,必须用双引号引起来。
我也遇见这个问题了,偶尔在一个贴子上看到juqery1.4以后对单引号比较敏感,建议都改成双引号。。
colNames:["id","名称"],
colModel:[
{name:"id", width:55,index:"id",label:"id", sortable:false},
{name:"supplierName",label:"名称", width:120}
],
把colNames和colModel里的单引号改成双引号就正常显示了