关于EXT多个远程调用失效问题

kenshinhu 2008-06-27
请问各位大虾们,有没有试过在多个远程调用会时不时出错undefine的问题没有?
请详见代码
 var hospitalSn = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url:'../dirhospital.do?type=showListviews=getSn'}),
 reader: new Ext.data.XmlReader({
 record:'hospital',
 id:'hospitalSn',
 totalRecords: '@total'},
[
{name:'hospitalSn',mapping:'hospitalSn'},
{name:'hospitalName',mapping:'hospitalName'}
]),  
 autoLoad:true
});

 function hospitalSnException(obj,parm){
           hospitalSn('edu can\'t load');
         };         	
								
         										
 //educationLevel 数据源
var educationLevel = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url:'../direducationlevel.do?type=showList'}),
reader: new Ext.data.XmlReader({									 								record:'educationLevel',	         									 								id:'code',	         									 								totalRecords:'@total'        										 								},[      									 								{name:'code',mapping:'code'},         									 									{name:'remarks',mapping:'remarks'}        										 								]),
autoLoad:true
});

 function eduException(obj,parm){
   alert('edu can\'t load');
  };
                  										
 //post 数据源
 var Staffpost = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url:'../direpost.do?type=showList'}),
 reader: new Ext.data.XmlReader({
   record:'post',
   id:'code',
   totalRecords: '@total'
},[										 								{name:'code',mapping:'code'},									 									{name:'remarks',mapping:'remarks'}      										 								]),  						                autoLoad:true        																			});
function StaffpostException(obj,parm){
           alert('Staffpost can\'t load');
         };        										
    
         //degree 数据源
var degreeStroe = new Ext.data.Store({proxy: new Ext.data.HttpProxy({url:'../direother.do?type=showList&views=getDegree'}),
 reader: new Ext.data.XmlReader({
 record:'Degree',
 id:'code',
 totalRecords: '@total'
 },[ {name:'code',mapping:'code'},
     {name:'remarks',mapping:'remarks'}
  ]),          						                
autoLoad:true });
             function degreeStroeException(obj,parm){
           alert('degreeStroe can\'t load');
         };         					



这里有4个Store
在GridPanel中,我是这样调用的
{
				             header: '职位',
				             dataIndex: 'post',
				             width:75,
				             sortable: true,
				             renderer:function(value){					              
					                  var pos = Staffpost.getById(value);
									  return pos.get('remarks');									 				                 							      
				             		  }	 				              	
				             },
				            {
				             header: '医院', 
				             dataIndex: 'hospital', 
				             width:95,
				             sortable: true,
				             renderer:function(value2){					              
					                  var rec = hospitalSn.getById(value2);
									  return rec.get('hospitalName');									 				                 							      
				                      }			           
				             },
				            {
				             header: '学历', 
				             dataIndex: 'education_level', 
				             width:50,
				             sortable: true,
				             renderer:function(value1){					                   
				                      var edu = educationLevel.getById(value1);
									  return edu.get('remarks');												                    				              					                	 				                 							    
				             		  }		
				             },
				            {
				             header: '年龄',
				             width:30, 
				             dataIndex: 'age', 
				             sortable: true
				             },
				            {
				             header: '职称', 
				             dataIndex: 'degree', 
				             sortable: true,
				             renderer:function(value5){					                   
				                      var deg = degreeStroe.getById(value5);
									return deg.get('remarks');												                    				              					                	 				                 							    
				           			  }		
				             }

也就是跟椐不用的STORE在GIRD的值来显示不同的值。
但其中发现了一些细小的问题~
就是一些时候会出现deg.undefine(不止这个还有edu、rec等等。。)的报错,导致GRID显示不到。
请问这是什么原因出错呢?~我地本地局域网测试的。应该是服务反应问题还是别的?
还有,我是用STRUTS输出XML文件的,应该不能是输出的问题。。
cheng022074 2008-06-29
这个呢,问题比较简单,第一,你的程序一点问题也没有,第二,EXTJS组件也没有问题,主要问题是每一种服务器在初始化时有一定的反映时间,因此,在自己的个人PC刚启动后的执行的第一个EXTJS程序,且此时EXTJS向服务请求数据比较多时,就会出现这种情况,因为在前端的底层XMLHTTP的请求是有失效期的,这与EXTJS本身无关,只与XMLHttp技术有关,据说W3C正在搞有状态AJAX应用,就可以彻底解决这个问题
Global site tag (gtag.js) - Google Analytics