浏览 5789 次
锁定老帖子 主题:Ext Grid
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-18
最后修改:2009-03-19
引用 grid提交分页数据的时候后面还会自动跟随一个可以说是标识的字段callback=stcCallback1001
每提交一次请求,callback就会自增,也就是说第二次就是callback=stcCallback1002 对应的,你的php文件回传json数据的时候也要带上这个值,来确定是哪次的请求所返回的结果 格式是: stcCallback1001( { ‘results’: 2, ‘rows’: [ { ‘id’: 1, ‘name’: ‘Bill’, occupation: ‘Gardener’ }, { ‘id’: 2, ‘name’: ‘Ben’, occupation: ‘Horticulturalist’ } ] } ); 他每次提交的数据是附加在网址后面的格式是 ?start=0&limit=25&_dc=1185695314632&callback=stcCallback1001 statr:起始数据值 limit:每页数据条数 _dc:自动生成的时间戳 callback:回传的确认值 要注意的是JSON-CODE中要严格按照其格式定义:{"totalProperty:".总行数,“ROOT:".JSON_ENCODE($DATA)} 另外,在ext-js中,使用JsonReader声明所读的数据是日期时,也要注意,要不就不要声明,要声明就得确定jsondata中的日期格式与你声明的一致。 出自:http://www.centuryidea.cn/index.php?tag=php 所以对应的服务器端的实现: String callback=request.getParameter("callback"); String json = callback+"({totalProperty:100,root:["; json += "{col1:" + 1 + ",col2:'name" + i + "',col3:'descn" + 1 + "'}"; json += "]});"; 回传的结果类似于: stcCallback1001({totalProperty:100,root:[{col1:1,col2:'name1',col3:'descn1'}]}); 在创建Ext.data.Store对象时,proxy属性使用Ext.data.ScriptTagProxy,不要使用Ext.data.HttpProxy。 引用 Ext API Class Ext.data.HttpProxy Note that this class cannot be used to retrieve data from a domain other than the domain from which the running page was served. Class Ext.data.ScriptTagProxy Note that if you are retrieving data from a page that is in a domain that is NOT the same as the originating domain of the running page, you must use this class, rather than HttpProxy. 很奇怪,使用这种形式proxy: new Ext.data.ScriptTagProxy({url:'PagingGrid.jsp'})可以正常显示,但proxy: new Ext.data.HttpProxy({url:'PagingGrid.jsp'})这种就不行(我理解错了?)。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-07
感谢楼主..这虽然是个小问题.
但是困扰了几天.. (感激中....) |
|
返回顶楼 | |
发表时间:2008-04-08
这个是跨域执行的,服务器和执行文件不再一起放着的,所以用ScriptTagProxy撒
|
|
返回顶楼 | |
发表时间:2008-04-08
本地两个都可以用的
|
|
返回顶楼 | |