`
lovechenxue
  • 浏览: 56602 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类
最新评论

EXT AJAX学习

阅读更多

下面是一些关于Ext和Jquery的Ajax的例子,在实际项目中测试通过;

 

其实Ext.Ajax的使用并不难,只是当初我一直不清楚如何获取其返回值,搞得郁闷了一阵子,以下是一个比较简单的例子

 1Ext.Ajax.request({
 2                    url: 'Register.aspx',
 3                    params: {
 4                        oper: 'login',
 5                        LoginEmail:Ext.get('LoginEmail').dom.value,
 6                        LoginPwd:Ext.get('LoginPwd').dom.value
 7                    }
,
 8                    success: function(response, options) {
 9                      var responseArray = Ext.util.JSON.decode(response.responseText);                                             
10                            if(responseArray.success=='true'){
11                                Cookies.set('Allcard_userName', responseArray.user);
12                                Ext.Msg.alert('信息','您已成功登录!',IsLogin);    
13                            }

14                            else{
15                                Ext.Msg.alert('失败','登录失败,请确认您的帐号密码无误!');    
16                            }

17                    }

18            }
);


代码说明:
2行:URL参数是要提交到的页面
3行:params是一个需要提交的参数集,使用逗号分隔
8行:当回调成功返回后要执行的函数
9行:获取服务器端的回调参数值
10行:对回调值进行判断处理

这里,得到的responseArray是一个Json数组。如果其中不只一条数据。可以用读取数组的方法,完全读取出来。下面是一个代码:

for(int ii=0;ii<responseArray.length;i++){

     alert(responseArray[ii].id);

}

在action中,需要返回一个json对像。下面是我一个实际项目中的示例:

 

li = pBO.getListForJson(nextTable, nextDisplayColumn, nextValueColumn, where, DbType);//取得一个list
    JSONArray jsonArray1 = JSONArray.fromObject( li );

//json包中的jsonarray类,注意,只有json-lib-2.2.3-jdk13.jar包不够,还需要一个ezmorph-1.0.5.jar包
    System.out.println(jsonArray1);
    response.setContentType("text/json; charset=gb2312");
    response.getWriter().write(jsonArray1.toString());//action中输出该JSON对像到前台页面

 

这里,小弟没有找到很简单的方法可以把RESULTSET输换为JSONARRAY,我的实现方法是新建一个类。然后根据RESULTSET组装该类,完了把值放到LIST中

 

这里需要说明一下的是如何获取回调参数值,Extjs里是通过JSON的数据格式来获取参数的,因此在服务器端处理完事情后,回调的参数应该这样写:(以下是ASP.NET里的写法)

result = "{success:true,user:'winson'}";
Response.Write(result);
Response.End();


将数据以键值对的形式返回,接收时就可使用第一段代码里第9行的方法来接收,由于使用的是JSON格式,因此服务器端就可以非常方便地同时返回多个参数值了。

Ext.Ajax基本使用就是这样,其实也挺简单的,只是如果要在提交时增加Loading效果,那就比较麻烦了,呵,这里我也没深入研究

在这里,顺便加上jquery的ajax应用吧

     Jquery需要返回的json数据和Ext中需要返回数据是一样的。

  该JS实现的功能是把后台查询所得的数据,插入到指定的页面Table中 

 

tree.on("dblclick",function(node,event){
	if(node.leaf!=true){
		Ext.MessageBox.confirm('确认框', '你将选择目录下所有项,确定继续吗?',function(button,text){   
         	if(button=="yes") {
          	url='treejsoncallback.jsp?type=parentType&'+node.id;
			$.getJSON(url, function(json){
			for(i=0;i<json.length;i++){
				//alert(json[i].parentText)
				 var strArray=new Array();   
   				strArray=json[i].parentText.split(",");  
   				strArray.unshift("");
   				strArray.push(json[i].nodeId); 
  				//alert(strArray.length);
				addRowToTable("table_ds_product",strArray);
			}
			});
          
          }  
          
      }); 
		}
		else{
			 var strArray=new Array();   
   				strArray=node.attributes.parentText.split(",");  
   				strArray.unshift("");
   				strArray.push(node.attributes.nodeId); 
  				//alert(strArray.length);
				addRowToTable("table_ds_product",strArray);
			
		}		
	});
function addRowToTable(strTableId, arrTdText){ 
 var objTable = document.getElementById(strTableId);
   if( objTable == null ) {    
   return; 
    }
   var objTableBody = objTable.getElementsByTagName("TBODY")[0];
   var row = document.createElement("TR") 
   var col = document.createElement("TD")
   
   col.bgcolor='#A6C5FD';
   col.appendChild(document.createTextNode(arrTdText[0]))  
    row.appendChild(col);  
     for( var i = 1; i < arrTdText.length; i++ ) {
     var col = document.createElement("TD")  
         col.appendChild(document.createTextNode(arrTdText[i]))  
         row.appendChild(col);  
       }
     var lastCol =  document.createElement("TD");
   var innerStr = "<input type='image' onmouseover=\"this.style.cursor='hand'\" onclick='del(this)' src='/PsoWeb/images/cqpso/Delete.gif'>";
    lastCol.innerHTML=innerStr;
    row.appendChild(lastCol); 
   objTableBody.appendChild(row);}
分享到:
评论

相关推荐

    ext Ajax库 流行

    通过这个压缩包,开发者可以获得完整的EXT框架,包括所有必要的JS文件,以及相关的文档和示例,以便于学习和使用EXT Ajax库。 在实际开发中,EXT Ajax库的使用能够显著提升Web应用的交互性和性能,使得数据操作更加...

    EXT中文文档,EXT简明教程(Ajax框架)

    本教程集合了EXT中文文档和两个EXT的简明教程,为初学者提供了全面的学习资源。 首先,`Ext 中文文档.chm`是EXT的中文参考手册,包含了EXT的各种类库、方法、事件和配置选项的详细介绍。在学习EXT时,这是一个不可...

    ext集锦_ajax学习必备

    EXT集锦中的Ajax学习资源是Web开发人员提升技能的重要工具,尤其对于那些专注于EXT框架的开发者来说更是必不可少。Ajax(Asynchronous JavaScript and XML)技术在现代网页应用中扮演着核心角色,它允许页面与服务器...

    ext学习资料 20篇详细学习笔记 初学者ext学习的文档

    理解AJAX和JSONP等技术,以及EXT的Ajax和Store组件如何与服务器通信,是EXT开发不可或缺的一部分。 10. **优化与性能**:最后,学习EXT应用的性能优化技巧,如延迟加载、分页和内存管理,可以提升用户体验。 通过...

    ajax-ext框架

    **Ajax-ext框架详解** Ajax-ext框架是一款强大的JavaScript库,专为构建富客户端应用程序而设计,它结合了Ajax技术的优势和ExtJS库的功能,提供了一种高效、可扩展的方式来实现动态和交互式的Web应用。框架的核心...

    Ext.Ajax.request 小问题收集

    这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...

    使用Ext2.0的Ajax连接ArcIMS例子

    通过本例的学习,我们可以了解到如何使用Ext2.0框架中的Ajax对象与ArcIMS服务器进行交互的基本流程。这不仅涉及到XMLHttpRequest对象的使用,还包括了Ext2.0提供的Ajax请求方法的配置和使用。这些知识对于开发者来说...

    ext/ajax开发资料

    总的来说,这个“ext/ajax开发资料”应包含EXT库的Ajax使用方法,以及可能的JavaScript和EXT基础内容,是学习和提升EXT应用开发能力的好资源。通过实践其中的实例代码,开发者能够深入理解EXT如何与Ajax技术结合,...

    Ext2.0.2的Ajax请求拦截示例

    在Ext JS中,Ajax请求是进行异步数据交互的基础,它允许页面在不刷新的情况下与服务器进行通信。本示例将深入探讨如何在Ext2.0.2中实现Ajax请求的拦截,以便在发送请求前或接收响应后执行自定义逻辑。 首先,我们...

    ext ajax框架

    EXT AJAX框架是一个强大的JavaScript库,专门用于构建富客户端应用程序,特别是在Web开发领域。EXT JS框架以其丰富的用户界面组件和高效的数据管理能力而闻名。在AJAX(Asynchronous JavaScript and XML)技术的基础...

    Ext学习笔记

    Ext JS4学习教程+笔记(一) Ext JS4学习教程+笔记(二)事件处理 Ext JS4学习教程+笔记(六)DataView面板 ...Ext JS4学习教程+笔记(三)Ajax请求 Ext JS4学习教程+笔记(五)Form Panel的使用 Ext学习网址

    ext_ext_knew7pi_ajax_

    EXT是一个知名的JavaScript库,主要用来构建富...通过学习这些实例,开发者可以更好地掌握EXT的AJAX使用技巧,提升Web应用的交互性和功能性。在实际开发中,这些知识点对于构建高效、用户体验优秀的Web应用至关重要。

    Ext2.2开发指南--完整翻写Ext官方网站学习指南介绍

    3. 如果看到全中文的响应页面,说明工程运行正常,参见ExtStart.js文档,有非常详细的注释说明Ext.Element类与Ext.select()选择器的使用,以及事件处理的几种使用情况,最后是Ext框架使用Ajax技术的演示部分,需要...

    ASP AJAX Ext Setup

    10. **学习资源**:要成功地使用ASP AJAX Ext,开发者需要熟悉JavaScript、CSS、HTML以及ASP.NET的基础知识,同时可以通过官方文档、在线教程和社区论坛获取进一步的帮助和支持。 通过"ASP AJAX Ext Setup"的安装,...

    ASP.net AJAXExt Setup

    这对于学习和使用AJAXExt是非常有帮助的。 总的来说,ASP.NET AJAXExt Setup是一个强大的工具,可以帮助开发者快速构建具有现代Web交互性的ASP.NET应用程序,而无需深入研究底层的JavaScript或AJAX实现细节。通过...

    ext学习手册(中英文版)

    "EXT学习手册"是针对EXT库的学习资源,分为中英文两个版本,主要涵盖了EXT的常用方法、属性以及整个EXT框架的介绍。对于初学者和有经验的开发者来说,这都是一个非常有价值的参考资料。 CHM(Compiled HTML Help)...

    ext学习文档

    ### EXT学习文档知识点详解 #### 1. EXT简介 EXT是一个功能强大的JavaScript库,用于构建交互式的Web应用程序。它提供了一系列工具和API,使得开发者能够更容易地创建动态且丰富的用户界面。EXT支持多种浏览器,并...

    EXT学习小例子

    在这个名为"EXT学习小例子"的项目中,我们将深入探讨EXTJS如何实现数据的增加、删除和修改功能。 EXTJS的核心是其组件系统,它提供了各种UI组件,如表格、表单、面板、树形视图等,这些组件可以方便地组合在一起...

Global site tag (gtag.js) - Google Analytics