下面是GridPanel的代码Ext.onReady(function(){
    var ds = new Ext.data.Store({    
        proxy: new Ext.data.HttpProxy({
            url:'http://127.0.0.1:7773/myFirst/Request.jsp',
            method: 'GET',
            prettyUrls: false
        }),
        autoDestroy: true,
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalProperty',
            root: 'root',
            fields: [ 
                {name: 'id'},
                {name: 'name'},
                {name: 'descn'}
            ]    
        })
    }); 
    var grid = new Ext.grid.GridPanel({
        store: ds,
        columns: [
        {
            header:'id',
            width:70,
            dataIndex:'id'
        },
        {
            header:'name',
            width:70,
            dataIndex:'name'
        },
        {
            header:'descn',
            width:70,
            dataIndex:'descn'
        }
        ],
        stripeRows: true,
        height: 550,
        width: 800,
        title: 'Array Grid',
        stateful: true,
        stateId: 'grid',
        renderTo:"grid-example"        
    }); 
    ds.load({params:{start:1,limit:10}});
});
以下是服务器端Request.jsp  <%
  String start = request.getParameter("start");
  String limit = request.getParameter("limit");
  try {    
  int index = Integer.parseInt(start);    
  int pageSize = Integer.parseInt(limit);  
  String json = "{totalProperty:100,root:[";    
  for (int i = index; i < pageSize + index; i++) {        
  json += "{id:" + i + ",name:'name" + i + "',descn:'descn" + i + "'}";        
  if (i != pageSize + index - 1) {            
  json += ",";        
  }    
  }    
  json += "]}";    
  //response.getWriter().write(json);
  //response.getWriter().flush();
  out.println(json);
  } 
  catch(Exception ex) {}
%>
Request.jsp返回的jsan数据:
{
    totalProperty:100,
    root:[
        {id:2,name:'name2',descn:'descn2'},
        {id:3,name:'name3',descn:'descn3'},
        {id:4,name:'name4',descn:'descn4'},
        {id:5,name:'name5',descn:'descn5'},
        {id:6,name:'name6',descn:'descn6'}
    ]
}可以显示grid的界面,但是没有数据。
我直接使用上面的jsan数据grid可以显示。请问这是怎么回事呢???

解决方案 »

  1.   

    proxy的url 要和主页面同域,url:'Request.jsp',
    其他代码测下来没问题,Request.jsp仅返回json,不包含其他字符的话可以显示数据 .
      

  2.   

    所谓同域是指 Request.jsp要和主页面在同一文件夹下吗?
      

  3.   

    'http://127.0.0.1:7773/myFirst/Request.jsp' 这个文件你单独打开看内容是不是正确。
    这个文件里面还是不是有别的内容或注释?
      

  4.   


    没有问题,我直接用Request.jsp输出的内容有数据显示
      

  5.   


    我把Request.jsp和主页面放在服务器上的同一目录下,还是没有数据显示。
    不知道同域是不是这个意思
      

  6.   

    同一目录的话,url直接写 url:'Request.jsp', 去掉前面的http://...
      

  7.   

    试过了
    html文件和Request.jsp放在同一目录下,url:'Request.jsp'也改过来了
    但还是不能显示数据。咋回事捏??