`
tmartin
  • 浏览: 104510 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Extjs学习笔记(八) Ajax

 
阅读更多

Ext.Ajax 是 Ext.data.Connection的一个子类,提供了用简单的方式进行Ajax的功能实现
1.主要方法
    abort : 终止一个没有完成Ajax请求
    isLoading : 判断指定的Ajax请求是不是正在运行
    paresStatus : 返回请求响应的代码
    request : 发送服务器请求 -----> 重点

 

//eval()

执行括号内部的字符串

如:eval("alert(''hello)")

 

(function(){
	Ext.onReady(function(){
		Ext.Ajax.request({
			url : 'person.jsp',
			params:{id:'01'},
			method : 'POST',
			timeout :3000,
			success :function(response , options){
				alert(eval(response.responseText)[0].name);
			},
			failure  :function(response , options){
				alert(response.responseText+" "+options)
			}
		});
	})
})()
 

1.1 Ext.Ajax.request form

person.jsp

html:

<form id="myform">
			Name:
			<input type="text" name="name">
			<br>
			Pass:
			<input type="password" name="pass">
			<br>
			<input type="button" value="login" id="b">
		</form>
 

ajaxform.js:

(function(){
	Ext.onReady(function(){
		Ext.get('b').on("click",function(){
			Ext.Ajax.request({
				url : 'person.jsp',
				params:{id:'01'},
				method : 'POST',
				timeout :3000,
				form:"myform",
				success :function(response , options){
					alert(eval(response.responseText)[0].name);
				},
				failure  :function(response , options){
					alert(response.responseText+" "+options)
				}
			});
		})
	})
})()
 

2.Ext.ElementLoader    
    方便我们重新构建页面
    load方法

http://adminstrator:8080/extjs4/GetTimeServlet

返回内容: 2012年7月1日

JS:

Ext.onReady(function(){
	Ext.get('b1').on("click",function(){
		var time = Ext.get("time").getLoader();
		time.load({
			url:'http://adminstrator:8080/extjs4/GetTimeServlet',
			renderer:function(loader,response,request){
				var time = response.responseText;
				Ext.getDom("time").value = time;
			}
		});
	});
});
 


    startAutoRefresh 方法

自动刷新,去后台刷新。

/extjs4/GetIServlet返回:一个累加器 :计数器1,计数器2

 

	Ext.get('b2').on("click",function(){
		var i = Ext.get('i').getLoader();
		i.startAutoRefresh(1000,{
			url:'/extjs4/GetIServlet',
			renderer:function(loader,response,request){
				var i = response.responseText;
				Ext.getDom("i").value = i;
			}			
		});
	});

jsonData,属性将字符串参数 按照JSON格式传到后台。
3.多级联动菜单   

html:

                <select name="city" id="city">
			<option value="beij" selected>
				北京市
			</option>
			<option value="tianj">
				天津市
			</option>
		</select>
		<select name="area" id="area">
			<option value="def" selected>
				-----------
			</option>
		</select>
 

js:

(function(){ 
    //创建HTMLElement
	function createChild(value,name){
		var el = document.createElement("option");
		el.setAttribute("value",value);
		el.appendChild(document.createTextNode(name));
		return el;
	}
	var data = {};
	
	Ext.onReady(function(){
		//1.得到city这个dom对象
		var cityObj = Ext.get("city");
		//2.我们为这个city对象注册一个change
		cityObj.on("change",function(e,select){
			//3.得到改变后的数值
			var ids =  select.options[select.selectedIndex].value;
			//3.1 他先去前台的缓存变量中查数据,当没有的时候在去后台拿
			if(data["city"]){
				//直接操作
			}else{
				//做ajax
			}
			//4.ajax请求把后台数据拿过来
			Ext.Ajax.request({
				url:'/extjs4/MenuServlet',
				params:{ids:ids},
				method:'post',
				timeout:4000,
				success:function(response,opts){
					var obj = eval(response.responseText);
					//5.得到地区的哪个对象area DOM
					var oldObj = Ext.get("area").dom;
					//6.清除里面项
					while(oldObj.length>0){
						oldObj.innerHTML= "";
					}
					//7.加入新的项
					Ext.Array.each(obj,function(o){
						Ext.get('area').dom.appendChild(createChild(o.valueOf(),o.name));
					});
					//8.把从数据库拿到的数据进行前台页面缓存
				}
			});
		});
	});
})();
 

 

 

分享到:
评论

相关推荐

    extJs 2.1学习笔记

    16. extJs 2.0学习笔记(Ajax篇) 38 17. extJs 2.0学习笔记(Ext.data序论篇) 39 18. extJs 2.0学习笔记(Ext.Panel终结篇) 40 19. extJs 2.0学习笔记(事件注册总结篇) 45 20. extJs 2.0学习笔记(Ext.Panel篇一) 48 21....

    界面框架extjs学习笔记

    EXTJS in Action 是一本专为学习EXTJS编写的书籍,但这里我们主要关注学习笔记中的关键知识点。 首先,EXTJS的目录结构非常重要,因为它包含了所有必要的资源和源码: 1. `adapter`:这部分包含了适配器,用于将...

    ExtJs学习笔记,共30讲

    这个学习笔记涵盖了从基础到高级的多个主题,帮助读者深入理解ExtJs的核心概念和技术。以下是一些关键知识点的详细说明: 1. **ExtJs 结构树**:这部分内容可能涉及ExtJs如何构建可自定义的用户界面组件树,包括...

    Extjs学习笔记有用

    以上内容只是ExtJS框架中的一部分,实际上ExtJS还包括组件体系(如Grids、Forms、Trees等)、数据模型和Store、布局系统、Ajax通信、主题定制等多个方面。学习ExtJS可以帮助开发者快速构建功能丰富的、交互性强的Web...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4学习笔记(八)---Grid多选 全选 ExtJS4学习笔记(六)---多表头Grid ExtJS4学习笔记(十)---ExtJS4图片验证码的实现 ExtJS4学习笔记(十一)---TabPanel ExtJS4学习笔记(十三)---上传文件(upload) ExtJS4学习笔记...

    老师整理的extjs学习笔记

    ### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...

    extJs+2.1学习笔记.pdf

    13. **extJs 2.0 学习笔记(Ajax篇)** Ajax是ExtJS的基础,理解其工作原理、生命周期以及如何在ExtJS中集成Ajax请求,对于开发响应式Web应用非常重要。 14. **extJs 2.0 学习笔记(Ext.data序论篇)** 这部分...

    extjs 的一些学习笔记

    【ExtJS 学习笔记概览】 ExtJS 是一个强大的JavaScript 框架,主要用于构建富客户端的Web应用程序。它的核心特性包括丰富的组件库、强大的数据包管理、灵活的布局系统以及面向对象的编程模型。以下是对ExtJS 入门...

    ExtJS4学习笔记十一 树控件的使用

    在本篇《ExtJS4学习笔记十一:树控件的使用》中,我们将深入探讨ExtJS框架中的树形控件(TreePanel),这是一种强大的UI组件,用于展示层次结构的数据。ExtJS4对树控件的功能进行了增强,使其更加灵活且易于使用。...

    Extjs3.4+Ext-core.pdf+轻松搞定Extjs.pdf

    本资源包包含了与ExtJS 3.4相关的学习资料,包括`Ext-core.pdf`、`轻松搞定Extjs.pdf`以及`Extjs学习笔记.docx`,旨在帮助初学者或有经验的开发者更好地理解和掌握ExtJS 3.4。 `Ext-core.pdf` 是关于Ext Core的文档...

    ExtJS笔记---Grid实现后台分页

    这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...

    ExtJs 学习笔记 Hello World!第1/2页

    随着学习的深入,你将发现它包含诸如表格、树形视图、图表、窗体、布局管理等众多组件,以及强大的数据绑定和Ajax通信机制。通过这些工具,开发者可以构建高度交互的、具有桌面应用般用户体验的Web应用程序。 总之...

    EXTJS 学习笔片段1

    EXTJS 学习笔片段1 Form ComboBox 远程ComboBox 替代页面上已经存在的Select控件 Grid EditorGridPanel 使用本地store Toolbar工具菜单创建 分页工具栏创建 Window 弹出处理window窗口(模态窗口) ...

    extjs 3.3正式版

    4. **AJAX支持**:EXTJS 内置了对AJAX的全面支持,通过Proxy和Store机制,可以方便地与服务器进行异步通信,实现数据的增删改查操作。 5. **可扩展性**:EXTJS 允许开发者通过扩展(Extensions)和插件(Plugins)...

    extjs批量上传的所有相关代码和jar,支持包和笔记

    EXTJS是一种基于JavaScript的富客户端应用框架,广泛用于构建企业级..."批量上传"这个压缩包可能包含了实现这一功能所需的全部代码、样式、支持文件及开发者的经验总结,对于学习和理解EXTJS批量上传机制非常有帮助。

    用Extjs+asp.net写的一个例子 适合刚刚学习Extjs的朋友

    学习笔记这部分可能是作者在学习过程中积累的心得体会,涵盖了遇到的问题、解决方案,甚至是最佳实践。对于初学者来说,这是一份非常宝贵的学习资源,因为它可能包含了一些官方文档中没有提到的实际应用场景和技巧。...

Global site tag (gtag.js) - Google Analytics