日期:2014-05-16  浏览次数:20561 次

关于使用ExtJS提交查询表单的问题
       我现在想实现如下功能,提交一个表单进行模糊查询,表单中有各种各样的查询条件,提交的到的是一个action,框架用的是SSH,数据库用的是oracle,当查询成功的时候弹出一个window,显示查询出得数据,并进行分页!!这个该怎么做,现在我出现的问题是弹出了window,后台得到了数据,但是前台却没有数据,请高人回答下!!谢谢了,很急,在线等!!!!1、还有查询的时候httpproxy中的url怎么写可以不将路径写死,使得更加灵活一些,2、中文乱码怎么解决????分数不多,没有办法 谢谢了!!

------解决方案--------------------
首先,action返回的格式要跟你定义的store中的reader匹配,
路径你可以定义各全局变量,如定义g_app为你的action路径,
我这里有个我用的例子
Ext.define('SH.store.BoxList',{
    extend: 'Ext.data.Store',
    model: 'SH.model.BoxList',
    proxy: {
        type: 'ajax',
        url : g_app + '/Box/ListCurr',
        reader: {
            type: 'json',
            root: 'data',
            totalProperty:'message' 
        }
    }
});

这里我指定了为json类型,action返回类型应为如下:

{"success":true,"message":"3110","data":[{"sno":"","status":"0","oldstatus":"0","custid":null,"vehid":null,"putouttime":null,"collecttime":null,"unloadtime":null,"isexcept":"0","exceptdesc":"","ptype":"\u672c\u90e8","position":"\u5927\u5730\u7ef4\u5eb7"}]}
success为extjs定义的返回值标识是否成功,message为totalProperty,即总记录数,data为数据root,用中括号包围的数组。

至于中文乱码的问题,你返回utf-8格式的就行了,貌似javascript用utf-8才行的吧。