jsonStore 数据获取

来源:互联网 发布:80端口是否打开 编辑:程序博客网 时间:2024/06/02 18:33

初学ext,对ext几个store还不熟悉,后台已经是把数据返回了,但前台就是获取不到,浪费了半天的时间,我把源代码铁一下:

 

 

后台servlet代码:

public class DataServiceServlet extends HttpServlet {


 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  this.doPost(request, response);
 }


 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/json;charset=utf-8");//设置返的数据不会出现中文乱码.

  PrintWriter out = response.getWriter();
  String json = "{root:[{name:'name1',password:'111'},{name:'name2',password:'222'}]}";
  System.out.println(json);
  out.write(json);
  out.flush();
  out.close();
 }


}

这后台代码是完全没问题的.

 

 

看看前台的.

 

Ext.onReady(function() {

     var simpStore = new Ext.data.JsonStore({
      url : 'http://localhost:8080/extDemo/getData',
      root : 'root',
      fields : ['name','password']
     });
     
     simpStore.on('load', function(tt){alert(tt.getCount());});
     
     simpStore.load();
     
  });

 

关键就在红色这段,原来我是没有这个,直接在后面写: alert(simpStore.getCount());

这样,结果都是0,后来看了老外的一个提示,才知道,异步获取,要先用On方法注册下load,这个的作用是等到load完成之后,才调用load方法。否则,就没Load完,就执行下一段了,弹出来的当然就是0.O(∩_∩)O哈哈~

原创粉丝点击