毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> WEB开发 >> 正文

extjs下页面元素如何重新加载

更新时间:2012-12-24:  来源:毕业论文

extjs下页面元素如何重新加载
我的items是登录后动态赋值给它的,利用ajax从后台返回一个字符串.可是放到onready里就是加载不上,那个字符串是正确的,如何重新加载一下页面元素.如:items:[itemslist],在firefox中显示返回的itemslist是这样的"{id:'2',title:'营业管理',autoScroll:true,border:true,iconCls:'nav'},{id:'6',title:'无线调度',autoScroll:true,border:true,iconCls:'nav'}"
部分代码如下:

var itemslist='';
Ext.Ajax.request({
url: 'rootmenu',   
success: function(response, options){
itemslist=response.responseText.toString().trim;
},
failure: function(){
alert('错误', '网络连接错误,请重新登录!');
}
});

Ext.onReady(function(){
       Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
       setTimeout(function(){
       Ext.get('loading').remove();
       var viewport = new Ext.Viewport({
            layout:'border',
items:[
{
region:'north',
id:'north-panel',
html:'管理系统',
// title:"上部",
margins:'0 0 0 0',
// split:false,//间隙
// collapsible: true,//显示隐藏面板
height:50,
// border:false
},
{
region:'west',
id:'west-panel',
title:'导航菜单',
split:true,
width:200,
                minSize:175,
                maxSize:400,
                collapsible:true,
                margins:'0 0 0 5',
                cmargins:'0 0 0 5',
                layout:'accordion',
border:false,
items:[itemslist]
},{
ajax请求时异步操作。
所有的都放在异步后
Ext.Ajax.request({
url: 'rootmenu',  
success: function(response, options){
itemslist=response.responseText.toString().trim;
//写在这里
},
failure: function(){
alert('错误', '网络连接错误,请重新登录!');
}
});
于extjs中ajax的同步加载,参考网上的资料是这样的,extjs从2.0到3.0以后,ajax的同步异步提交发生了变化,3.0以后引用一个js包,引用以后如下操作
Ext.Ajax.request({
url: 'rootmenu',    //这里是输出json的action
async : false ,  //默认为true异步提交,false为同步提交
success: function(response, options){
itemslist=response.responseText.toString().trim;
},
failure: function(){
alert('错误', '网络连接错误,请重新登录!');
}
});
或者用如下的代码

var conn = Ext.lib.Ajax.getConnectionObject().conn; 
conn.open("GET", 'rootmenu',false); 
conn.send(null); 
itemslist=conn.responseText.toString().trim;

是这样的在extjs中的items需要的是一个对象而不是一个字符串,我从后台取到的是一个字符串,现在对这个字符串需要两次itemslist=  =Ext.util.JSON.decode(Ext.util.JSON.decode(response.responseText.toString())),这样再items:itemslist就正常了,另外后台返回的字符串{id:'2',title:'营业管理',autoScroll:true,border:true,iconCls:'nav'},{id:'6',title:'无线调度',autoScroll:true,border:true,iconCls:'nav'}需要改为"[{id:'2',title:'营业管理',autoScroll:true,border:true,iconCls:'nav'},{id:'6',title:'无线调度',autoScroll:true,border:true,iconCls:'nav'}]"

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。