extjs中Ext.Ajax.request同步请求和异步请求

用Ext.Ajax.request请求默认是异步请求,这就导致定义的对象无法识别,没有定义,因此需要将请求方式改为同步。请看代码。

function showFormPanel(){
	if(centerPanel.getSelectionModel().hasSelection()){
        var records = centerPanel.getSelectionModel().getSelection();
        if(records.length == 1){
            var record = records[0];
            if(record.data.roleid != ''){
            	Ext.Ajax.request({
				    url: 'getFidByRoleid',
				    async:false,//false同步,true异步
				    params: {
				        roleid: record.data.roleid
				    },
				    success: function(response){
				        var text = response.responseText;
				        console.log(text);
				        var data = JSON.parse(text);
				        console.log(data.roleMenus[0].roleid);
				        updateQxzWin.setVisible(true);
				    }
				});
            }

        }else{
            Ext.Msg.alert('提示', '不能同时处理两个业务');
        }
    }else{
        Ext.Msg.alert('提示', '请选择具体业务信息');
    }
}

在这个代码中,若将async设置成true,则success中updateQxzWin就会是没有定义,所以需要设置为同步

猜你喜欢

转载自blog.csdn.net/chenmin_test/article/details/84136256