Ajax 主流框架与Extjs

合集下载

Ext

Ext

序言ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力。

ExtJS是一个用javascript编写,与后台技术无关的前端ajax框架。

因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

最近我们在几个应用都使用到了ExtJS,对公司以前开发的一个OA系统也正在使用ExtJS2.0进行改造,使得整个系统在用户体验上有了非常大的变化。

本教程记录了前段时间本人学习ExtJS的一些心得及小结,希望能帮助正在学习或准备学习ExtJS的朋友们快速走进ExtJS2.0的精彩世界。

教程包括ExtJS的新手入门、组件体系结构及使用、ExtJS中各控件的使用方法及示例应用等,是一个非常适合新手的ExtJS入门教程。

本教程主要是针对ExtJS2.0进行介绍,全部代码、截图等都是基于ExtJS2.0。

在学习了本教程后,可以下载这个基于ExtJS2.0开发的单用户Blog系统的源代码,这个系统是我们团队中的williamraym与大峡等人开发的一个演示系统,系统源码整体质量比较高,通过学习这套源代码相邻一定能提高您ExtJS的综合水平。

本教程比较适合ExtJS的新手作为入门教程及手册使用,并在我的博客/blog/lengyu/上进行发布;应一些朋友的要求,根据本教程的写作思路,我还编写了比本教程更为详细的《ExtJS实用开发指南》,包含详细的ExtJS框架使用方法、各个控件详细配置参数、属性、方法及事件介绍,与服务器端集成及一个完整的示例应用系统介绍等内容,适合想深入学习ExtJS或正在使用ExtJS进行开发朋友们使用。

该《指南》当前在作为VIP文档发布,供该站的VIP用户阅读及下载。

凡是购买了《ExtJS 实用开发指南》文档的VIP用户,都可以在该指南印刷版出版后均会免费得到相应的印刷版本。

最后,希望广大网友把阅读本教程中的发现的错误、不足及建议等反馈给我们,让我们一起共同学习、共同进步,下面让我们一起进入精彩的ExtJS世界吧。

Extjs、雅虎UI库、jQuery—js框架介绍

Extjs、雅虎UI库、jQuery—js框架介绍

Extjs、雅虎UI库、jQuery—js框架介绍ExtJSExtJS是一个Javascript库,功能强大,界面美观,可以使用Ajax, DHTML,DOM等技术开发网络应用程序。

历史最初的ExtJS只是YUI的一个扩展包,从1.1版开始独立发布。

它是一个开源软件,遵守GPL 3.0协议。

许可证Extjs之前使用LGPL和商业授权的双重协议,在08年时改成了现在使用的GPL和商业授权的双重协议,也遵守其他的开源软件协议。

功能描述Ext包括多种控件,可以实现各种各样的功能文本框和文本域控制,可以控制文本框和文本域中的内容过滤,实现所见即所得的编辑形式。

单选框和复选框控制Grid control(表格控件):可以轻松的实现表格数据统计,拖放。

树形控制:生成树形目录,编辑管理树,点击展开或是关闭。

Tabs:可活动的标签页,标签页组,可自由添加和删除的标签页,功能丰富。

工具条:在面板中可以方便的插入顶部工具条或是底部工具条,实现各种复杂的功能。

桌面应用程序菜单:可以制作类似于Windows桌面的网页菜单。

灵活的面板布局:将一个面板划分为东南西北中(ESWNC)五个部分,每个部分可以放不同的内容。

滚动条:用滚动条来控制数据的显示。

Flash图表:flash制作的数据图表功能。

优点和不足Ext整合了CSS样式文件,窗口、面板都有现成的样式,甚至都不需要美工进行特别的美化就可以直接使用。

功能涵盖了一个Web 2.0网站所需要的几乎所有的功能,非常完备。

但是相应的文件大,加载速度并不理想,而且在低版本的浏览器上显示效果不佳。

学习网站:雅虎UI库雅虎UI库 (Yahoo! UI Library,YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX,DHTML 和 DOM 等程式码技术。

它也包含了许多 CSS 资源。

使用授权为 BSD许可证.功能YUI 包含完整的说明文件。

jQuery操作Ajax和Json

jQuery操作Ajax和Json

jQuery操作Ajax和Json嗯,自己学SSH和做项目也已有两个月了。

自己今天来整理一下自己在项目中利用jQuery操作过的Ajax和Json。

当时我对于jQuery操作Ajax几乎不怎么了解,但是项目中有需求,所以自己也是必须要去使用,因此现在来详细讲解一下自己在项目中的操作。

功能中,有一个下拉框,里面存储的是服务商的信息,首选项是“--请选择--”,当我选择第一个下拉框中服务商信息之后,后面紧接着将会得到这个选定的服务商下的所有产品。

做一个联动操作。

虽然我不会用jQuery操作Ajax,但是我第一反应就是想到利用这块技术,于是自己就开始查找对应的资料了。

首先,我在Action中,将服务商的信息从数据库查找出来,保存到List集合中,将集合转发到JSP界面上,利用的是struts2标签:<div><s:select name="provider.iscenicid"list="#request.providerList"listKey="i scenicid"listValue="szcenicname"headerKey=""headerValue="--请选择"onchange="onChangeOptionScenic(this)"id="scenicType"/></s:select><span id="productInfo"></span></div>(ps:其实这个里面,本不应该设置headerKey和headerValue,应该在Action中在List集合中去增加一行再进行操作。

)中间的span标签就是将要利用jQuery操作Ajax把产品信息增加到span标签里面!其次,进行jQuery操作Ajax了:<script>function onChangeOptionScenic(_this) {// 获取下拉框中的listKey值var iscenic =$(_this).val();// 设置一个变量,来进行下面的操作var htmltv ="";// 设置URL地址var url ="/tips/travelmessage.action";// Ajax操作开始$.ajax ({// 设定URLurl : url,// 设置提交方式,这里为posttype : "post",// 设置数据类型为JsondataType : "json",// 设置传过去的值的属性名data : {"iscenicid" : iscenic},// 成功返回之后的操作方法success : function(result) {// 获取Action中传回来的result的值var json =eval("("+result+")");// 循环将服务商下的产品以复选框形式拼接出来for(var i=0; i<json.length; i++) {// 将产品信息以复选框形式拼接起来htmltv +="<input type='checkbox' name='productNa me'value='"+json[i].productId+"'/>"+json[i].prod uctName;}// 添加到上面的span标签中$("#productInfo").val(htmltv);}});}</script>最后,将result进行一个映射文件的配置,配置信息如下(根据公司的一些设定而操作):<action name="travelmessage"class="com.web.system.tips.TravelMessageAction" method="trav elMessage"><result type="json"><param name="root">result</param></result></action>在TravelMessageAction中,需要将内容返回到result中,部分代码如下:List productList = travelMessageService.getProductInfo(product);JSONArray json =new JSONArray().fromObject(productList);result = json.toString();return SUCCESS;至此,一个完整的操作已完成,这就是自己的一点点整理,希望以后有更多的有技术的知识与大家分享!。

[转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的a。。。

[转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的a。。。

[转]ExtJs⼊门之filefield:⽂件上传的配置+结合Ajax完美实现⽂件上传的a。

作⽂⼀个ExtJs的⼊门汉⼦,学习起来的确是⽐较费劲的事情,不过如今在这样⼀个⽹络资源如此丰富的时代,依然不是那么难了的。

基本上都是Copy过来加以部分改造即可实现⾃⼰想要的功能,加之如今的第三⽅开发者也⼤发慈悲地写出了API的帮助⽂档以及⽰例⽂档。

关于ExtJs内的⽂件上传,将从以下⼏个⽅⾯进⾏展开讲解:⼀、ExtJs⽂件上传版⾯的布局以及配置因为ExtJs的⽂件上传组件filefield是基于form表单提交数据的,所以我们需要创建Ext.form.Panel,页⾯布局及其配置代码如下所⽰:001.<html xmlns="">002.<head runat="server">003.<title>ExtJs的⽂件上传</title>004.<!-- ExtJS -->005.<link rel="stylesheet"type="text/css"href="/css/ext-all.css"/>006.<script type="text/javascript"src="/js/ext-all.js"></script>007.<!-- Shared -->008.<link rel="stylesheet"type="text/css"href="/css/example.css"/>009.<script type="text/javascript"language="javascript">010.Ext.require([011.'Ext.form.field.File',012.'Ext.form.Panel',013.'Ext.window.MessageBox'014.]);015.016.Ext.onReady(function() {017.//定义⼀个消息提⽰⽅法018.var msg = function(title, msg) {019.Ext.Msg.show({020.title: title,021.msg: msg,022.minWidth: 200,023.modal: true,024.icon: ,025.buttons: Ext.Msg.OK026.});027.};028.//创建form表单029.Ext.create('Ext.form.Panel', {030.renderTo: 'divUpload',//form表单的承载对象031.width: 600, //表单宽度032.frame: true,033.title: '图⽚上传',//表单名称034.bodyPadding: '10 10 0', //表单内项⽬距离边框的值035.//配置默认属性036.defaults: {037.anchor: '90%',038.allowBlank: false,039.msgTarget: 'side',belWidth: 100041.},042.//表单内的项⽬配置043.items: [{044.xtype: 'textfield',045.fieldLabel: '图⽚说明',: 'picDesc'//这个是⽂本框的name值,post表单数据的时候,⽤于Request["picDesc"] 获取数据之⽤047.}, {048.xtype: 'filefield',049.id: 'fileUpload',050.emptyText: '请选择⼀个图⽚⽂件',051.fieldLabel: '图⽚路径',: 'fileUpload',053.buttonText: '浏览',054.buttonConfig: {055.iconCls: 'upload-icon'056.},057.//添加事件058.listeners: {059.//装载的时候添加监听事件060."render": function() {061.//这⾥尤其要注意的是使⽤Ext.get('upload'),⽽不是Ext.getCmp('upload'),否则不起效果,若使⽤后者,则只有当⽂本框的内容改变的时候,才会触发change 事件062.Ext.get('fileUpload').on("change", function() {063.debugger064.var uploadFileName = Ext.getCmp('fileUpload').getValue();065.//只允许上传jpg|JPG⽂件066.if(uploadFileName.substring(stIndexOf(".") + 1).toLowerCase() != "jpg"|| uploadFileName.substring(stIndexOf(".") + 1).toLowerCase() != "JPG") {067.msg('Error', '只允许上传pg|JPG⽂件!');068.}069.})070.}071.}072.}],073.buttons: [{074.text: '上传',075.handler: function() {076.var form = this.up('form').getForm();077.//验证表单078.if(form.isValid()) {079.//获取所选择⽂件的名称080.var epath = form.findField("fileUpload").getValue();081.//只允许上传jpg|JPG件082.if(epath.substring(stIndexOf(".") + 1).toLowerCase() == "jpg"|| epath.substring(stIndexOf(".") + 1).toLowerCase() == "JPG") {083.form.submit({084.url: '/Pic/Upload_Ajax.aspx',085.waitMsg: '图⽚正在上传,请耐⼼等待....',086.success: function(fp, o) {087.msg('图⽚上传成功', o.message);088.},089.failure: function(fp, o) {090.msg("错误提⽰", o.message);091.}092.});093.} else{094.msg('错误提⽰', '只允许上传jpg|JPG⽂件!');095.}096.}097.}098.}, {099.text: '取消',100.handler: function() {101.this.up('form').getForm().reset();102.}103.}]104.});105.106.});107.</script>108.</head>109.<body>110.<form id="form1"runat="server">111.<div id="divUpload">112.</div>113.</form>114.</body>115.</html>⼆、编写Upload_Ajax.aspx的相关代码获取表单数据核⼼代码如下所⽰:01.protected void Page_Load(object sender, EventArgs e)02.{03.HttpPostedFile file = Request.Files["fileUpload"];04.//图⽚描述05.string FileDesc = Request["picDesc"];06.07.if(file != null)08.{09.//上传图⽚路径10.string PicSavePath = string.Format("/images/upload/{0}", file.FileName);11.try12.{13.file.SaveAs(MapPath(PicSavePath));14.}15.catch(Exception eg)16.{17.Response.Write("{success:false,flag:0,message:'"+eg.ToString()+"!'}");18.}19.Response.Write("{success:true,flag:0,message:'⽂件"+file.FileName+"上传成功!'}");20.}21.else22.{23.Response.Write("{success:false,flag:0,message:'参数配置错误!'}");24.}25.Response.End();26.}三、运⾏效果图⽂件上传页⾯配置效果图图1:⽂件上传页⾯配置效果图⽂件上传过程中的提⽰效果图图2:⽂件上传过程中的提⽰效果图。

1-第一章 Ext简介

1-第一章 Ext简介
AIR扩展
Ext的版本变迁(3)
EXT3.0发布于2009年6月
重构Ext Core
EXT3.1发布于2009年12月
性能提升
EXT3.2发布于2010年4月 EXT3.3发布于2011年2月 EXT3.4发布于2011年2月 EXT4.0.2a发布于2011年6月
Ext的技术特点(3)
ExtJS到底是收费的还是免费的:
免费授权 开源项目,未使用任何非开源软件-OK 非盈利的研究或学习-OK 不修改使用-OK(不能当工具卖) 企业授权 不想受限制,支持Ext,获得企业授权 OEM/Reseller Licens 将Ext封装为软件开发库或工具包,需取得 专门授权
http://127.0.0.1/ext-4.0.2a/examples/ 演示例子
Ext的运行效果(5)
http://127.0.0.1/ext-3.4.0/docs/ API文档
问题?
第一章 ExtJS概述
主讲:边耐政 Email: nbian@
大纲
什么是RIA tJS的技术特点 ExtJS的版本变迁
ExtJS的运行效果
什么是RIA(1)
富因特网应用程序(Rich Internet Applications,RIA) 利用具有很强交互性的富客户端技术来为用户提供一个 更高和更全方位的网络体验。 RIA开发必须具备三个要素:富客户端技术、服务器技术 和开发工具。 现有的RIA技术:
Ext的版本变迁(1)
ExtJS来源于YUI(Yahoo! User Interface Library)。 Jack Slocum的出色工作——YUI-Ext。
2006年秋天,Jack发行了0.33的YUI-Ext 2007年成立公司,改名为ExtJS。

ExtJs特点、优缺点及注意事项

ExtJs特点、优缺点及注意事项

ExtJs特点、优缺点及注意事项1.什么是ExtJs?ExtJS可以⽤来开发RIA也即富客户端的AJAX应⽤,是⼀个⽤javascript写的,主要⽤于创建前端⽤户界⾯,是⼀个与后台技术⽆关的前端Ajax框架。

因此,可以把ExtJS⽤在.Net、Java、Php等各种开发语⾔开发的应⽤中。

ExtJS的前⾝来⾃于YUI,经过不断发展与改进,现在已经成为最完整与成熟的⼀套构建RIA Web应⽤的JavaScript基础库。

利⽤ExtJS构建的RIA Web应⽤具有与桌⾯程序⼀样的标准⽤户界⾯与操作⽅式,并且能够横跨不同的浏览器平台。

ExtJS已经成为开发具有完满⽤户体验的Web应⽤完美选择。

ExtJs最开始基于YUI技术,其UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了⼤量跨浏览器⽅⾯的处理。

相对来说,EXT要⽐开发者直接针对DOM、W3C对象模型开发UI组件轻松。

2.ExtJs的特点(1).纯Html/CSS+JS技术,重新定义表⽰层的耦合;(2).基于纯Html/CSS+JS技术,提供丰富的跨浏览器UI组件,灵活采⽤JSON/XML数据源开发,使得服务端表⽰层的负荷真正减轻,从⽽达到客户端的MVC应⽤;(3).集成多种JS底层库,满⾜开发者不同需求;(4).Ext初期仅是对YUI的对话框扩展,后来逐渐有了⾃⼰的特⾊,深受⽹友的喜爱。

发展⾄今,Ext除YUI外还⽀持Jquery Prototype等的JS 库,让⼤家⾃由地选择;(5).多浏览器⽀持、⽀持多平台下的主流浏览器。

3.ExtJs的优缺点(1).ExtJs的优点<1>.UI组件丰富,外观漂亮。

Ext JS库有着丰富且漂亮的UI组件,⼤⼤缩短了我们的开发周期,⽽且组件拥有漂亮的布局,经过简单的调⽤与配置就可以实现不错的界⾯布局。

ExtJS提供的各种组件可以⽤更加标准的⽅式展⽰数据降低了开发难度。

AJAX中的dataType(数据格式)-text、json

AJAX中的dataType(数据格式)-text、json

AJAX中的dataType(数据格式)-text、json因为经常使⽤数据格式,所以将它封装成类,J这样就不会⽤到时就写了,直接调⽤写好的类就可以了(1)dataType数据格式为:TEXT格式的数据是字符串的数据,在“ajax对数据进⾏删除和查看”的那篇博客中说过,这⾥在说下结果不会每个传输的都是字符串,有时是⼆维数组,这样就要转换为字符串格式了class DBDA{public $host="localhost"; //数据库连接public $uid="root"; //⽤户public $password="123"; //⽤户密码public $dbname="test2"; //⽤到的数据库名字//返回字符串的⽅法public function StrQuery($sql,$type=1) {$db = new MySQLi($this->host,$this->uid,$this->password,$this->dbname); //造⼀个新对象$r = $db->query($sql); //sql语句if($type==1) //判断语句{ $attr = $r->fetch_all(); $str = ""; foreach($attr as $v) { $str .= implode("^",$v)."|"; //拼接数组为字符串 } return substr($str,0,strlen($str)-1); //截取字符串:最后的拼接符不显⽰ }else{ return $r;}}}这就把转换字符串封装成了⼀个类:运⽤⼀下$.ajax({url:"xianshicl.php", //处理页⾯中进⾏查数据库dataType:"TEXT", //⽤的text的数据类型success: function(data){ //这⾥是处理页⾯执⾏结束后在执⾏的语句}})处理页⾯的查数据库<?phpinclude("DBDA.class.php"); //调⽤封装好的类⽂件$db = new DBDA(); //造新对象$sql = "select * from fruit"; //查数据库的内容语句echo $db->StrQuery($sql); //1.引⽤封装好的类中的转换字符串的⽅法/* //2.不想调⽤,可以⾃⼰写,不过就是⿇烦点,因为这样会每次⽤到时都要写$attr = $db->Query($sql);$str = "";foreach($attr as $v){ $str .= implode("^",$v)."|"; //拼接数组为字符串}echo substr($str,0,strlen($str)-1); //截取字符串:最后的拼接符不显⽰*/>这⾥是处理页⾯执⾏语句的效果:然后在ajax中进⾏拆分后就可以了:success: function(data){var hang = data.split("|"); //拆分字符“|”串:显⽰⾏var str = "";for(var i=0;i<hang.length;i++){var lie = hang[i].split("^"); //拆分字符串“^”:显⽰列str += "<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td><td>"+lie[3]+"</td><td>"+lie[4]+"</td></tr>"; //直接找索引号}$("#bg").html(str); } (2)dataType数据格式为:JSON⽐较像关联数组:所以在引⽤时,数组是要关联数组的,不能是索引数组我们也把这个封装成⼀个类,既然是关联数组,在遍历时的函数值应该是fetch_all(MYSQLI_ASSOC)class DBDA{public $host="localhost"; //数据库连接public $uid="root"; //⽤户public $password="123"; //⽤户密码public $dbname="test2"; //⽤到的数据库名字//返回JSONfunction JSONQuery($sql,$type=1){ $db = new MySQLi($this->host,$this->uid,$this->password,$this->dbname); $r = $db->query($sql); //和字符串不同的地⽅ if($type==1) {//json是关联数组:fetch_all(MYSQLI_ASSOC)return json_encode($r->fetch_all(MYSQLI_ASSOC)); //转化成json:json_encode()必须是utf-8的服务 } else {return $r; }}}这就把json封装成了⼀个类:运⽤⼀下 $(document).ready(function(e) { $.ajax({url: "scl.php", //处理页⾯dataType:"json", //数据类型是JSONsuccess: function(data){//处理页⾯结束后执⾏的语句写这⾥ } })});处理页⾯的语句:<?phpinclude("DBDA.class.php"); //调⽤封装的类$db = new DBDA();$sql = "select * from fruit";echo $db->JSONQuery($sql); //这⾥就是引⽤的封装好的JSON⽅法执⾏下,看下这个⽅法和TEXT的区别(这个就是个数组,还是个关联的数组)处理页⾯执⾏成功后执⾏下⾯语句var str = "";for( var k in data){ str +="<option value='"+data[k].Ids+"'>"+data[k].Name+"</option>"; //找到k的Code,这⾥的Code要和数据库中的列名⼀致}$("#fruit").html(str);下⾯就把整体的效果看下,上⾯做了个下拉列表,找的是数据库中⽔果表的名称,如下:TEXT是直接遍历索引号,⽽JSON是列名str += "<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td><td>"+lie[3]+"</td><td>"+lie[4]+"</td></tr>"; //直接找索引号str +="<option value='"+data[k].Ids+"'>"+data[k].Name+"</option>"; //找到k的Code,这⾥的Code要和数据库中的列名⼀致需要注意,JSON是关联数组,要⽤MYSQLI_ASSOC这个值,转换成JSON的⽅法是:json_encode()使⽤这个⽅法服务必须是utf-8的服务。

ajax的20个参数AJAX的原理,使用,深入了解

ajax的20个参数AJAX的原理,使用,深入了解

ajax的20个参数AJAX的原理,使⽤,深⼊了解AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)⼀,ajax参数1.url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。

2.type:要求为String类型的参数,请求⽅式(post或get)默认为get。

注意其他http请求⽅法,例如put和delete也可以使⽤,但仅部分浏览器⽀持。

3.timeout:要求为Number类型的参数,设置请求超时时间(毫秒)。

此设置将覆盖$.ajaxSetup()⽅法的全局设置。

4.async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。

如果需要发送同步请求,请将此选项设置为false。

注意,同步请求将锁住浏览器,⽤户其他操作必须等待请求完成才可以执⾏。

5.cache:要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

6.data:要求为Object或String类型的参数,发送到服务器的数据。

如果已经不是字符串,将⾃动转换为字符串格式。

get请求中将附加在url后。

防⽌这种⾃动转换,可以查看 processData选项。

对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。

如果是数组,JQuery将⾃动为不同值对应同⼀个名称。

例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType:要求为String类型的参数,预期服务器返回的数据类型。

如果不指定,JQuery将⾃动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。

ajax 调用方法

ajax 调用方法

ajax 调用方法Ajax调用方法详解Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它通过在后台与服务器进行少量数据交换,实现了网页无需刷新即可更新部分内容的功能。

在前端开发中,Ajax的应用非常广泛,本文将详细介绍几种常见的Ajax调用方法。

一、XMLHttpRequest对象XMLHttpRequest是Ajax的核心对象,它用于与服务器进行数据交互。

通过创建XMLHttpRequest对象并调用其相关方法,可以实现异步加载数据、发送数据到服务器等操作。

创建XMLHttpRequest对象的方法如下:```javascriptvar xhr;if (window.XMLHttpRequest) {xhr = new XMLHttpRequest(); // 非IE浏览器} else if (window.ActiveXObject) {xhr = new ActiveXObject('Microsoft.XMLHTTP'); // IE浏览器}```使用XMLHttpRequest对象发送GET请求的方法如下:```javascriptxhr.open('GET', 'data.php?param1=value1&param2=value2', true);xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200) {var response = xhr.responseText;// 处理服务器返回的数据}};xhr.send();```使用XMLHttpRequest对象发送POST请求的方法如下:```javascriptxhr.open('POST', 'data.php', true);xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200) {var response = xhr.responseText;// 处理服务器返回的数据};xhr.send('param1=value1&param2=value2');```二、jQuery的Ajax方法jQuery是一款功能强大的JavaScript库,它封装了许多常用的操作,包括Ajax。

jQuery AJAX和JSON例子

jQuery AJAX和JSON例子

基于jQuery的AJAX和JSON的实例通过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好的html模板上,直接在页面上显示。

我们先来看一下html模板:<table id="datas" border="1" cellspacing="0" style="border-collapse: collapse"><tr><th>订单ID</th><th>客户ID</th><th>雇员ID</th><th>订购日期</th><th>发货日期</th><th>货主名称</th><th>货主地址</th><th>货主城市</th><th>更多信息</th></tr><tr id="template"><td id="OrderID"></td><td id="CustomerID"></td><td id="EmployeeID"></td><td id="OrderDate"></td><td id="ShippedDate"></td><td id="ShippedName"></td><td id="ShippedAddress"></td><td id="ShippedCity"></td><td id="more"></td></tr></table>一定要注意的就是里面所有的id属性,这个是一个关键。

ajax的数据类型

ajax的数据类型

ajax的数据类型摘要:1.AJAX 简介2.AJAX 数据类型的含义3.AJAX 的数据类型分类4.实际应用中的数据类型示例5.结语正文:一、AJAX 简介AJAX(Asynchronous JavaScript and XML)即异步JavaScript 和XML,是一种用于在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容的技术。

通过使用JavaScript 和XMLHttpRequest 对象,可以实现异步请求服务器数据,使得网页在加载时不需要等待数据完全加载,从而提高用户体验。

二、AJAX 数据类型的含义在AJAX 中,数据类型指的是服务器返回的数据的类型。

这些数据可以是HTML、XML、JSON、纯文本等不同格式的信息。

根据服务器返回的数据类型,AJAX 可以进行相应的处理,例如更新页面内容、处理错误信息等。

三、AJAX 的数据类型分类1.XML(可扩展标记语言):XML 是一种用于描述数据结构的标记语言。

在AJAX 中,服务器返回的XML 数据需要通过XML 解析器进行解析,然后根据解析结果更新页面内容。

2.JSON(JavaScript 对象表示法):JSON 是一种轻量级的数据交换格式,易于阅读和编写。

在AJAX 中,服务器返回的JSON 数据可以直接用JavaScript 进行解析和处理。

3.HTML:服务器返回的HTML 数据可以直接插入到页面的DOM(文档对象模型)中,用于更新页面内容。

4.纯文本:服务器返回的纯文本数据可以用于显示在页面上,或者作为其他处理的输入数据。

四、实际应用中的数据类型示例假设一个网页需要从服务器获取一篇文章的详细内容,服务器返回的数据可能是如下格式的JSON:```json{"title": "文章标题","author": "作者","content": "文章正文"}```在AJAX 请求成功后,JavaScript 可以根据返回的JSON 数据更新页面内容,例如显示文章标题、作者信息等。

Ext概述与框架基础

Ext概述与框架基础

1.Ext框架简介
1)什么是ext?
Ext是一个Ajax框架,可以用来开发带有华 丽外观的富客户端应用,使得我们的b/s应 用更加具有活力及生命力,提高用户体验。 Ext是一个用javascript编写,与后台技术无 关的前端ajax框架。因此,可以把Ext用 在.Net、Java、Php等各种开发语言开发的 应用中。 Ext最新版本是ext4.0
helloWord示例程序
helloWord在HTML直接嵌入代码实现
<script type="text/javascript" language="javascript"> Ext.onReady(function(){ Ext.Msg.alert('helloWord','Hello Word!'); }); </script>
<link rel="stylesheet" type="text/css" media="all" href="extjs/resources/css/extall.css" /> <script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="extjs/ext-all.js"></script>
Ext框架简介
2)Ext提供一系列的对象类, 这些基本上都是用于处理 WEB页面控件的。

ExtJS之Ext.Ajax.request用法详解

ExtJS之Ext.Ajax.request用法详解

ExtJS之Ext.Ajax.request用法详解Java代码1<SPAN style="FONT-SIZE: medium">Ext.Ajax.request({2 url:'findbyid.action',3 params:{4 id:cell.getId()5 },6 success: function(resp,opts) {7 var respText =Ext.util.JSON.decode(resp.responseText);8 name=;9 oid=respText.id;10 findbyid(graph,cell,oid,name);11 //Ext.Msg.alert('错误',+"====="+respText.id);12 },13 failure: function(resp,opts) {14 var respText =Ext.util.JSON.decode(resp.responseText);15 Ext.Msg.alert('错误', respText.error);16 }1718 });</SPAN>在Ext开发过程中,基本上时刻需要用到异步请求,那么这个请求到底是怎么执行的呢,我们接下来来探讨下首先:Ext.Ajax类继承了Ext.data.Connection,为Ajax的请求提供了最大灵活性的操作方式再简单请求基础上我们加上一个使用的说明的是这种请求通常都是放在触发某个事件的处理方法中的url:就是我们要请求的路径params:里面的参数用逗号隔开,就是我们要发出请求带的参数success:是服务器处理成功返回failure:是服务器处理失败返回重点讲的就是如何处理返回值信息,我们的resp这个参数就显得非常重要了resp是Ext构造的一个返回结果对象,如服务器端返回“this is a test!”(可以通过throw new Exception("this is a test!")简单实现)。

推荐十四款常见的Web前端开发框架-copy

推荐十四款常见的Web前端开发框架-copy

推荐⼗四款常见的Web前端开发框架-copy在做web开发的时候经常会遇到⼀个问题,那就是,选择什么样的框架来做前端开发。

下⾯封程中把⽬前常⽤的⼀些前端的框架简单的给⼤家介绍⼀下.1. BootstrapBoostrap绝对是⽬前最流⾏⽤得最⼴泛的⼀款框架。

它是⼀套优美,直观并且给⼒的web设计⼯具包,可以⽤来开发跨浏览器兼容并且美观⼤⽓的页⾯。

它提供了很多流⾏的样式简洁的UI组件,栅格系统以及⼀些常⽤的JavaScript插件。

Bootstrap是⽤动态语⾔LESS写的,主要包括四部分的内容:脚⼿架——全局样式,响应式的12列栅格布局系统。

记住Bootstrap在默认情况下并不包括响应式布局的功能。

因此,如果你的设计需要实现响应式布局,那么你需要⼿动开启这项功能。

基础CSS——包括基础的HTML页⾯要素,⽐如表格(table),表单(form),按钮(button),以及图⽚(image),基础CSS为这些要素提供了优雅,⼀致的多种样式。

组件——收集了⼤量可以重⽤的组件,如下拉菜单(dropdowns),按钮组(button groups),导航⾯板(navigation control)——包括:tabs,pills,lists标签,⾯包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。

JavaScript——包括⼀系列jQuery的插件,这些插件可以实现组件的动态页⾯效果。

插件主要包括模态窗⼝(modals),提⽰效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转⽊马(carousel),输⼊提⽰(typeahead),等等。

Bootstrap已经⾜够强⼤,能够实现各种形式的 Web 界⾯。

为了更加⽅便地利⽤Bootstrap进⾏开发,很多⼯具和资源可以⽤来配合使⽤,下⾯列举了其中的⼀部分⼯具和资源。

Extjs常用属性

Extjs常用属性

ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力。

ExtJS是一个用javascript编写,与后台技术无关的前端ajax框架。

因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

在学习了本教程后,可以下载这个基于ExtJS2.0开发的单用户Blog系统的源代码,这个系统是我们团队中的williamraym与大峡等人开发的一个演示系统,系统源码整体质量比较高,通过学习这套源代码相邻一定能提高您ExtJS的综合水平。

ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。

ExtJS可以用来开发RIA也即富客户端的AJAX应用,下面是一些使用ExtJS 开发的应用程序截图:ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。

因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

Ext2.0对框架进行了非常大的重构,其中最重要的就是形成了一个结构及层次分明的组件体系,由这些组件形成了Ext的控件,Ext组件是由Component类定义,每一种组件都有一个指定的xtype属性值,通过该值可以得到一个组件的类型或者是定义一个指定类型的组件。

组件大致可以分成三大类,即基本组件、工具栏组件、表单及元素组件。

基本组件有:xtype Class------------- ------------------box Ext.BoxComponent 具有边框属性的组件button Ext.Button按钮colorpalette Ext.ColorPalette 调色板component ponent组件container Ext.Container容器cycle Ext.CycleButton一个SplitButton的实用子类,用于在多个item之间切换状态dataview Ext.DataView 数据显示视图datepicker Ext.DatePicker 日期选择面板editor Ext.Editor编辑器editorgrid Ext.grid.EditorGridPanel 可编辑的表格grid Ext.grid.GridPanel 表格paging Ext.PagingToolbar 工具栏中的间隔panel Ext.Panel面板progress Ext.ProgressBar 进度条splitbutton Ext.SplitButton 可分裂的按钮tabpanel Ext.TabPanel选项面板treepanel Ext.tree.TreePanel 树viewport Ext.ViewPort 视图window Ext.Window窗口工具栏组件有---------------------------------------toolbar Ext.Toolbar工具栏tbbutton Ext.Toolbar.Button按钮tbfill Ext.Toolbar.Fill文件tbitem Ext.Toolbar.Item工具条项目tbseparator Ext.Toolbar.Separator工具栏分隔符tbspacer Ext.Toolbar.Spacer工具栏空白tbsplit Ext.Toolbar.SplitButton 工具栏分隔按钮tbtext Ext.Toolbar.TextItem工具栏文本项表单及字段组件包含:---------------------------------------form Ext.FormPanel Form面板checkbox Ext.form.Checkbox checkbox录入框combo boBox combo选择项datefield Ext.form.DateField日期选择项field Ext.form.Field表单字段fieldset Ext.form.FieldSet表单字段组hidden Ext.form.Hidden 表单隐藏域htmleditor Ext.form.HtmlEditor html编辑器numberfield Ext.form.NumberField数字编辑器radio Ext.form.Radio单选按钮textarea Ext.form.TextArea区域文本框textfield Ext.form.TextField表单文本框timefield Ext.form.TimeField时间录入项trigger Ext.form.TriggerField触发录入项Ext.Panel API翻译activeItem : String/Number用于设置当前活动的子组件,取值为此子组件的序号或者是id。

Ajax和javascript的区别

Ajax和javascript的区别

Ajax和javascript的区别javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术,它是利用了一系列相关的技术其中就包括javascript。

Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。

在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。

Javascript的特性1,控制文档的外观和内容比如说新建一个htm文件,在里面写入上面的代码,用浏览器打开这个文件后,就会显示今天是快乐的上面这段javascript代码的功能是将网页中所有的tr行的class 样式都设为trstyle2,与HTML表单的交互其常见的用法就是用于表单的验证拓展:许多重要的技术和AJAX开发模式可以从现有的知识中获取。

例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了。

同时,随着技术的成熟还会有许多地方需要改进,特别是UI 部分的易用性。

AJAX开发与传统的C/S开发有很大的不同。

这些不同引入了新的编程问题,最大的问题在于易用性。

由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。

这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。

综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。

AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。

同时,开发人员还需要考虑C/S环境的外部和使用AJAX技术来重定型MVC边界。

最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。

利用Ajax与ExtJS改善用户体验

利用Ajax与ExtJS改善用户体验

d ma d fn r l sre p r n ea d srn o st l o e n so oma e x e e c n t u u i y c mmu iain Ajxc nraieteay c rnzd rq eto sr u i e me nc t . a a el h sn ho ie e u s fu e o z
其 同 步 交 互 方 式 ,带 来 了很 大 网 络 流 量 以及 很 差 的 用 户 体 验 , Wiig o l M p等 为 代 表 的 We 2 以 k ,o g a e b . 术 以 及 R A 的 0技 I 应 用 极 大 地 提 高 了网 络性 能 和 用 户 体 验 .成 为 了 W e 用 b应
Ma a e i n 和 n g d Cl t e I M L t s@ E p d tr 3 F c s le t B ou x e i : ) a e C i n o
1 Aa j x技 术 与 E tS框 架 概 述 xJ
11 A a . j ห้องสมุดไป่ตู้原 理
C m- n ns )j.5H ML , 虑 到 开发 难 度 以及 具 体 C C o -o et; Aa ;) T 啊考 p 4 x 2 交 易 平 台 后 台 系 统 的 特 点 。 择 A a 技 术 。A a 综 合 了 以前 选 jx jx
c mme c y tmsw ih b s d o / tu t r . e s se h n d a tg ss c st e d sic n e a e a d t e e s o r e s se h c a e n B S sr c u e Th y tm a ma y a v na e u h a h it ti tr c a y s n f n h ma i u a in n p lt .Mo e v r h y tm a e eo i g e ce c n tn a d man e a c .F r e r ,i C e h o ro e,t e s s e h s d v l pn f in y a d s d r it n i a n e u t r mo e t a me t t e h n d ma d f o a s r x e e c n t n o st l o e n so r l e p r n ea d s e u u mey c mmu ia in nm u e i r i nc t . o

ExtJS简介

ExtJS简介

的精彩表现——丰富的 组件 丰富的UI组件 四、 ExtJS的精彩表现 的精彩表现 丰富的
这就是ExtJS 的Grid 组件的一个展示效果。从图中可以 这就是 组件的一个展示效果。 看出, 界面基本上和桌面程序的Grid 组件一样;从 组件一样; 看出,Grid 界面基本上和桌面程序的 图上也能看出该组件的一些功能,在功能上相对于桌面程 图上也能看出该组件的一些功能, 序的Grid 组件,ExtJS 的Grid 组件也毫不逊色。 组件, 组件也毫不逊色。 序的

三、ExtJS简介 简介
Ext的最大的优势是类似传统 的最大的优势是类似传统GUI方式的编程以及浏览器兼容性 的最大的优势是类似传统 方式的编程以及浏览器兼容性 开发出来的界面非常的标准、统一,省去了美工的麻烦; ,开发出来的界面非常的标准、统一,省去了美工的麻烦;劣势 就是它是重量级的框架,体积大,不利于低带宽环境使用. 就是它是重量级的框架,体积大,不利于低带宽环境使用 ExtJS主要是做 架构下的业务系统的,对于企业应用系统,尤 主要是做BS架构下的业务系统的 主要是做 架构下的业务系统的,对于企业应用系统, 其是MIS(管理信息系统)类型的系统而言 其是 (管理信息系统)类型的系统而言EXT 目前基本是第一 选择;目前一般不应用于互联网网站的开发, 选择;目前一般不应用于互联网网站的开发,主要是因为加载内 容比较耗时, 因高度封装不太容易做美化【 容比较耗时, 影响使用体验 ,因高度封装不太容易做美化【但 是它的动画效果相当不错,提高了用户体验】。 是它的动画效果相当不错,提高了用户体验】。 对于像我们这样的没有美术功底的程序员来说, 对于像我们这样的没有美术功底的程序员来说,EXT为我们解决 为我们解决 了一大难题, 全部帮你搞定 全部帮你搞定【 了一大难题,UI全部帮你搞定【直接调用函数设置对应的参数就 OK,因为它是 面向对象和组件化的思想, ,因为它是100%面向对象和组件化的思想,一致的语法, 面向对象和组件化的思想 一致的语法, 全局的命名空间。 所以写代码时非常规范、方便】, 】,不用费劲去 全局的命名空间。 所以写代码时非常规范、方便】,不用费劲去 弄样式! 同时,有许多用其他技术无法实现或极难实现的功能, 弄样式! 同时,有许多用其他技术无法实现或极难实现的功能, 却能用EXT轻易实现,比如 轻易实现, 中的表格 却能用 轻易实现 比如EXT中的表格、树形、布局等控件能 中的表格、树形、布局等控件能 为我们的开发工作节约大量的时间和精力, 为我们的开发工作节约大量的时间和精力,这些都坚定了我们使 用EXT的决心。 的决心。 的决心 Ext最杰出之处,是开发了一系列非常简单易用的控件及组件, 最杰出之处, 最杰出之处 是开发了一系列非常简单易用的控件及组件, 我们只需要使用这些组件就能实现各种丰富多彩的UI的开发 的开发。 我们只需要使用这些组件就能实现各种丰富多彩的 的开发。下 面是一些使用ExtJS开发的应用程序截图: 开发的应用程序截图: 面是一些使用 开发的应用程序截图
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ajax主流框架与ExtJS
JQuery、 Prototype和YUI都属于非常核心的JS库。虽然YUI,还有最近的JQuery,都给自己构建了一系列的UI器件(Widget),不过却没有一个真正的整合好的和完整的程序开发平台。哪怕是这些低层的核心库已经非常不错了,但当投入到真正的开发环境中,依然需要开发者做大量的工作去完善很多缺失之处。而Ext就是要填补这些缺口。主流开源框架中只有Dojo像Ext一样,尝试着提供整合的开发平台。相比Dojo这个出色的工具包,我们认为 Ext能提供一个粘合度更高的应用程序框架。Ext的各个组件在设计之时就要求和其它Ext组件组合一起工作是无缝合作的。这种流畅的互通性,离不开一个紧密合作的团队,还必须时刻强调设计和开发这两方面目标上的统一,而这点是很多开源项目未能做到的。从构建每一个组件开始,我们始终都强调组件的外观、性能、互通性和可扩展性,而我们认为组件已经达到了这几点的要求。 Ext绝对可以单独使用。实际上,除了有特定的要求,推荐单独使用Ext,这样的话文件占位更小,支持和整合也更紧密。我们也支持与jQuery、 YUI或Prototype整合使用,作为低层库的角色出现,以提供处理各种核心的服务,如DOM和事件处理,Ajax连接和动画特效。使用整合方式的一个原因是它们已具备了一些特定的器件而Ext并没有原生支持——像YUI的History控件便是一个典型的例子。这时,Ext需要依赖YUI这个库的底层来实现History控件,这样一来的话也可免去Ext自身底层库,从而减少了整个程序的内存占用。另一个使用整合方式的原因是,对于许多已在使用其他底层库的程序,你可能希望逐步加入Ext。总之,如果已经有了其他库,Ext可已利用它们。我们的宗旨是为用户提供各种可能性和性能上的优化。而事实是,只要实现了相对应的底层库接口,为任意一个框架添加上适配器是没有问题的——人们可以轻松地将Dojo、Moo、,或其它JS库转变为 Ext的底层。 Ext从2.x开始收费,这给他的应用前景带来一些问题。不过对国内开发人员的影响不大,毕竟是客户付款。
编辑本段Ext学习及应用经验小结
一、理解Html DOM、Ext Element及Component 要学习及应用好Ext框架,需要理解Html DOM、Ext Element及Component三者的区别。 Ext是基于Web的富客户端框架,其完全是基于标准W3C技术构建设的,使用到的都是HTML、CSS、DIV等相关技术。Ext最杰出之处,是开发了一系列非常简单易用的控件及组件,我们只需要使用这些组件就能实现各种丰富多彩的UI的开发。 无论组件有多少配置属性、还是事件、方法等等,其最终都会转化为HTML在浏览器上显示出来,而每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM对象,动态改变页面的内容,正是通过使用脚本语言来操作DOM对象实现。 仅仅有DOM是不够的,比如要把页面中的某一个节点移到其它位置,要给某一个节点添加阴影效果,要隐藏或显示某一个节点等,我们都需要通过几句 javascript才能完成。因此,Ext在DOM的基础上,创建了Ext Element,可以使用Element来包装任何DOM,Element对象中添加了一系列快捷、简便的实用方法。 对于终端用户来说,仅仅有Element是不够的,比如用户要显示一个表格、要显示一棵树、要显示一个弹出窗口等。因此,除了Element以外,Ext 还建立了一系列的客户端界面组件Component,我们在编程时,只要使用这些组件Componet即可实现相关数据展示及交互等,而 Component是较高层次的抽象,每一个组件在渲染render的时候,都会依次通过Element、DOM来生成最终的页面效果。 在使用Ext开发的应用程序中,组件Component是最高层次的抽象,是直接给用户使用的,Ext Element是Ext的底层API,主要是由Ext或自定义组件调用的,而DOM是W3C标准定义的原始API,Ext的Element通过操作DOM 来实现页面的效果显示。 在Ext中,组件渲染以后可以通过访问组件的el属性来得到组件对应的Element,通过访问Element的dom属性可以得到其下面的DOM对象。另外,我们可以通过通过Ext类的快捷方法getCmp、get、getDom等方ห้องสมุดไป่ตู้来得组件Component、Ext元素Element及DOM节点。比如: var view=new Ext.Viewport();//创建了一个组件Component view.el.setOpacity(.5);//调用Element的setOpacity方法 view.el.dom.innerHTML="Hello Ext";//通过Element的dom属性操作DOM对象 再看下面的代码: var win=new Ext.Window({id:"win1",title:"我的窗口",width:200,height:200}); win.show(); var c=Ext.getCmp("win1");//得到组件win var e=Ext.get("win1");//根据id得到组件win相应的Element var dom=Ext.getDom("win1");//得到id为win1的DOM节点 二、熟悉ext组件体系 Ext2.0对整个框架进行了重构,最为杰出的是推出了一个以Component类为基础的组件体系,在Component类基础上,使用面向对象的方法,设计了一系列的组件及控件。因此,要能游刃有余地使用Ext,熟悉Ext组件体系是最基本的。 在《ExtJS实用开发指南》中,有如下面一幅组件图: 通过组件结构图我们可以一目了然的看出整个Ext组件继承及组成体系,当使用一个组件的时间,了解他的继承体系,这样可以便于我们掌握组件的各种特性。 三、掌握核心控件 控件其实也是组件,比如用于显示树信息的TreePanel、用于显示表格的GridPanel及EditorGridPanel,还有代表应用程序窗口的Ext.Window等都属于Ext控件。在使用Ext的时候,一定要掌握一些核心控件,特别是处于基类的控件。比如上面提到的几个控件,他们都是继承于面板Panel,所以我们要重点掌握面板这个核心控件的特性。比如面板由以下几个部分组成:一个顶部工具栏(tbar)、一个底部工具栏(bbar)、面板头部(header)、面板尾部(bottom)、面板主区域(body)几个部分组成。面板类中还内置了面板展开、关闭等功能,并提供一系列可重用的工具按钮使得我们可以轻松实现自定义的行为,面板可以放入其它任何容器中,面板本身是一个容器,他里面又可以包含各种其它组件。只要掌握了Panel的应用,那么学习TreePanel、Window等就会变得简单得多。 同样的道理,对于Ext的表单字段来说,不管是ComboBox,NumberField、还是DateField,他们其它都是 Ext.form.Field类的子类,在他上面定义了表单字段的各种基本操作及特性。在学习使用表单字段组件时,一定要重点研究Field这个类,掌握他的主要方法、事件等,就能有助于更好的学习使用其它的字段。 四、学习及研究示例 由于javascript语言非常灵活,不像静态强类型语言(比如Java)那样有固定的代码设计模式,而往往是不同的人就有不同的编程风格。在实际应用开发中,只有见多识广,才能在自己的在脑中建立一个开发库。 学习别人的示例对于我们开发帮助会非常大,示例包括基本组件的应用、综合应用等多个方面。在此,简单推荐几个。 1、Ext官方示例,在ext项目下载包的examples目录中,包括各个控件的基本应用演示,同时还有一些比较复杂的组合示例,有简有繁,非常适合初学者认真研究。 2、Vifir推出的示例,Vifir推出的一些示例主要包括两类,一种是开源的示例应用,另外一种是针对VIP用户的实用示例。开源的示例主要是指 wlr单用户blog系统,这个一个集合了前后台技术的ext综合示例,而针对VIP用户的实用示例则是可以作为开发骨架或扩展组件的示例。 3、其它示例,在ext社区中还有很多比较优秀的ext应用示例,有些只是一个应用演示,虽然没有提供源码下载,但我们可以直接下载引用的js文件来得到这些示例的ext应用代码,同样能取起到非常好的学习效果。 五、多运用 Ext看起来是非常简单的东西,稍有点编程知识的人,按照《ExtJS实用开发指南》中的入门指南,半小时就能学会使用Ext。然而,当准备使用Ext开发一个项目时,却不知道从何处入手,或者是在使用Ext的时候,出了一点小问题自己不知道该如何解决。编程是一门实践性的科学,仅仅靠看书、看别人写的代码是远远不够的,因此,必须多做实践才行,只有通过不断的练习,大量的使用,才能对Ext的组件特性、事件、事件处理机制以及与服务器端交互接口等深入的掌握,只有多做运用,深入了解ext的组件的工作原理及机制,才能编写出高级的Ext的应用。 六、熟读Ext项目的源代码 如果要想深入应用Ext,那么阅读Ext项目的源代码这是必不可少的环节,Ext的代码质量非常高,通过阅读他的代码我们可以更加深刻的了解 javascript面向对象编程,Ext代码中包含了很多高级的js技巧以及设计模式。在使用Ext的过程中,我们经常根据项目的需要对Ext组件进行扩展,设计自己的组件或控件,而如何实现一个自定义的Ext组件,我们可以从Ext的各个组件源代码中找到答案。 Ext的源代码在Ext项目的source目录。读Ext源码,并不一定非要从某一个地方开始,而组件核心代码Component.js、容器组件代码 Container.js、面板Panel.js等这些是必看的; core目录中的Element.js、Ext.js等也是必看的。当需要从一个控件进行扩展的时候,最好能简单看一看这个控件的源代码。 七、理解,熟悉,掌握Json 在项目中,Ext本身的华丽外表就很吸引眼球了,但这仅仅是其外在的美,还有最核心的内在美,即:Json。Json(JavaScript Object Notation) 是一种数据交互格式,一个不能实现数据交互功能的项目是没有任何意义的,大多的Ajax框架的数据交互都基于Json,如:jQuery、ExtJs等。因此理解Json掌握Json并熟练运用是很重要的。以目前主流的开发语言为例,.NET已经把Json封装到类中,无需配置,直接与数据库交互,轻松的封装直接使用;Java就麻烦些,必须去下一个Json包,然后再做一些配置,才可以使用;PHP和Java差不多,也必须下载一个Json插件(和类相似),但是不用配置,直接封装使用。在实际的项目中,各自的取舍配置,都基于项目和需求,并不是每个项目(针对WEB)都一定要用到。但是,如果想在项目中用到此类的Ajax框架,Json的掌握又是必须的。
相关文档
最新文档