文档库 最新最全的文档下载
当前位置:文档库 › ajax程序设计入门

ajax程序设计入门

ajax程序设计入门_ajax教程

作者:网友供稿点击:0

西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北

访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企

业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月

付免压金!

文章页数:[1]

一、使用Ajax的主要原因

1、通过适当的Ajax应用达到更好的用户体验;

2、把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

二、引用

Ajax这个概念的最早提出者Jesse James Garrett认为:Ajax是Asynchronous JavaScript and XML的缩写。Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括:

·使用XHTML和CSS标准化呈现;

·使用DOM实现动态显示和交互;

·使用XML和XSLT进行数据交换与处理;

·使用XMLHttpRequest进行异步数据读取;

·最后用JavaScript绑定和处理所有数据;

Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

三、概述

虽然Garrent列出了7条Ajax的构成技术,但个人认为,所谓的Ajax其核心只有JavaScript、XMLHTTPRequest和DOM,如果所用数据格式为XML的话,还可以再加上XML这一项(Ajax从服务器端返回的数据可以是XML格式,也可以是文本等其他格式)。

在旧的交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。

而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。

1、XMLHTTPRequest

Ajax的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新更新页面),这一特点主要得益于XMLHTTP组件XMLHTTPRequest对象。这样就可以向再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。

最早应用XMLHTTP的是微软,IE(IE5以上)通过允许开发人员在Web页面内部使用XMLHTTP ActiveX组件扩展自身的功能,开发人员可以不用从当前的Web页面导航而直接传输数据到服务器上或者从服务器取数据。这个功能是很重要的,因为它帮助减少了无状态连接的痛苦,它还可以排除下载冗余HTML的需要,从而提高进程的速度。Mozilla(Mozilla1.0以上及NetScape7以上)做出的回应是创建它自己的继承XML代理类:XMLHttpRequest类。Konqueror (和Safari v1.2,同样也是基于KHTML的浏览器)也支持XMLHttpRequest对象,而Opera也将在其v7.6x+以后的版本中支持XMLHttpRequest对象。对于大多数情况,XMLHttpRequest对象和XMLHTTP组件很相似,方法和属性也类似,只是有一小部分属性不支持。

XMLHttpRequest的应用:

·XMLHttpRequest对象在JS中的应用

var xmlhttp = new XMLHttpRequest();

·微软的XMLHTTP组件在JS中的应用

var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP); XMLHttpRequest 对象方法

/**

* Cross-browser XMLHttpRequest instantiation.

*/

if (typeof XMLHttpRequest == ’undefined’) { XMLHttpRequest = function () {

var msxmls = [’MSXML3’, ’MSXML2’, ’Microsoft’]

for (var i=0; i < msxmls.length; i++) {

try {

return new ActiveXObject(msxmls[i]+’.XMLHTTP’)

} catch (e) { }

}

throw new Error("No XML component installed!")

}

}

function createXMLHttpRequest() {

try {

// Attempt to create it "the Mozilla way"

if (window.XMLHttpRequest) {

return new XMLHttpRequest();

}

// Guess not - now the IE way

if (window.ActiveXObject) {

return new ActiveXObject(getXMLPrefix() + ".XmlHttp"); }

}

catch (ex) {}

return false;

};

XMLHttpRequest 对象方法

XMLHttpRequest 对象属性

2、JavaScript

JavaScript是一在浏览器中大量使用的编程语言,,他以前一直被贬低为一门糟糕的语言(他确实在使用上比较枯燥),以在常被用来作一些用来炫耀的小玩意和恶作剧或是单调琐碎的表单验证。但事实是,他是一门真正的编程语言,有着自已的标准并在各种浏览器中被广泛支持。

3、DOM

Document Object Model。

DOM是给HTML 和XML 文件使用的一组API。它提供了文件的结构表述,让你可以改变其中的內容及可见物。其本质是建立网页与Script 或程序语言沟通的桥梁。

所有WEB开发人员可操作及建立文件的属性、方法及事件都以对象来展现(例如,document 就代表“文件本身“这个对像,table 对象则代表HTML 的表格对象等等)。这些对象可以由当今大多数的浏览器以Script 来取用。

一个用HTML或XHTML构建的网页也可以看作是一组结构化的数据,这些数据被封在DOM(Document Object Model)中,DOM提供了网页中各个对象的读写的支持。

4、XML

可扩展的标记语言(Extensible Markup Language)具有一种开放的、可扩展的、可自描述的语言结构,它已经成为网上数据和文档传输的标准。它是用来描述数据结构的一种语言,就正如他的名字一样。他使对某些结构化数据的定义更加容易,并且可以通过他和其他应用程序交换数据。

5、综合五、Ajax的优势

Jesse James Garrett提到的Ajax引擎,实际上是一个比较复杂的JavaScript应用程序,用来处理用户请求,读写服务器和更改DOM内容。

JavaScript的Ajax引擎读取信息,并且互动地重写DOM,这使网页能无缝化重构,也就是在页面已经下载完毕后改变页面内容,这是我们一直在通过JavaScript和DOM在广泛使用的方法,但要使网页真正动态起来,不仅要内部的互动,还需要从外部获取数据,在以前,我们是让用户来输入数据并通过DOM来改变网页内容的,但现在,XMLHTTPRequest,可以让我们在不重载页面的情况下读写服务器上的数据,使用户的输入达到最少。

基于XML的网络通讯也并不是新事物,实际上FLASH和JAVA Applet都有不错的表现,现在这种富交互在网页上也可用了,基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序。

Ajax是传统WEB应用程序的一个转变。以前是服务器每次生成HTML页面并返回给客户端(浏览器)。在大多数网站中,很多页面中至少90%都是一样的,比如:结构、格式、页头、页尾、广告等,所不同的只是一小部分的内容,但每次服务器都会生成所有的页面再返回给客户端,这无形之中是一种浪费,不管是对于用户的时间、带宽、CPU耗用,还是对于ISP 的高价租用的带宽和空间来说。如果按一页来算,只能几K或是几十K可能并不起眼,但像SINA每天要生成几百万个页面的大ISP来说,可以说是损失巨大的。而AJAX可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到最低,基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序,所以Ajax对于用户和ISP来说是双盈的。

Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰

的界限的,数据与呈现分离的分离,有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理。

四、应用

Ajax理念的出现,揭开了无刷新更新页面时代的序幕,并有代替传统web开发中采用form(表单)递交方式更新web页面的趋势,可以算是一个里程碑。但Ajax都不是适用于所有地方的,它的适用范围是由它的特性所决定的。

举个应用的例子,是关于级联菜单方面的Ajax应用。

我们以前的对级联菜单的处理是这样的:

为了避免每次对菜单的操作引起的重载页面,不采用每次调用后台的方式,而是一次性将级联菜单的所有数据全部读取出来并写入数组,然后根据用户的操作用JavaScript来控制它的子集项目的呈现,这样虽然解决了操作响应速度、不重载页面以及避免向服务器频繁发送请求的问题,但是如果用户不对菜单进行操作或只对菜单中的一部分进行操作的话,那读取的数据中的一部分就会成为冗余数据而浪费用户的资源,特别是在菜单结构复杂、数据量大的情况下(比如菜单有很多级、每一级菜又有上百个项目),这种弊端就更为突出。

如果在此案中应用Ajax后,结果就会有所改观:

在初始化页面时我们只读出它的第一级的所有数据并显示,在用户操作一级菜单其中一项时,会通过Ajax向后台请求当前一级项目所属的二级子菜单的所有数据,如果再继续请求已经呈现的二级菜单中的一项时,再向后面请求所操作二级菜单项对应的所有三级菜单的所有数据,以此类推……这样,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到最低。

此外,Ajax由于可以调用外部数据,也可以实现数据聚合的功能(当然要有相应授权),比如微软刚刚在3月15日发布的在线RSS阅读器BETA版;还可以利于一些开放的数据,开发自已的一些应用程序,比如用Amazon的数据作的一些新颖的图书搜索应用。

总之,Ajax适用于交互较多,频繁读数据,数据分类良好的WEB应用。

1、减轻服务器的负担。因为Ajax的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响影对服务器造成的负担;

2、无刷新更新页面,减少用户实际和心理等待时间;

首先,“按需取数据”的模式减少了数据的实际读取量,打个很形象的比方,如果说重载的方

式是从一个终点回到原点再到另一个终点的话,那么Ajax就是以一个终点为基点到达另一个终点;

其次,即使要读取比较大的数据,也不用像RELOAD一样出现白屏的情况,由于Ajax是用XMLHTTP发送请求得到服务端应答数据,在不重新载入整个页面的情况下用Javascript 操作DOM最终更新页面的,所以在读取数据的过程中,用户所面对的也不是白屏,而是原来的页面状态(或者可以加一个LOADING的提示框让用户了解数据读取的状态),只有当接收到全部数据后才更新相应部分的内容,而这种更新也是瞬间的,用户几乎感觉不到。总之用户是很敏感的,他们能感觉到你对他们的体贴,虽然不太可能立竿见影的效果,但会在用户的心中一点一滴的积累他们对网站的依赖。

3、更好的用户体验;

4、也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本;

5、Ajax由于可以调用外部数据;

6、基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序;

7、Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离);

8、对于用户和ISP来说是双盈的。

六、Ajax的问题

1、一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax;

2、用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;

3、Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;

4、对流媒体的支持没有FLASH、Java Applet好;

easyUI教程

jQuery EasyUI 简介 jQuery EasyUI 是一个基于jQuery 的框架,集成了各种用户界面插件。 什么是JQuery EasyUI jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点。 ?easyui 是一个基于jQuery 的框架,集成了各种用户界面插件。 ?easyui 提供建立现代化的具有交互性的javascript 应用的必要的功能。 ?使用easyui,您不需要写太多javascript 代码,一般情况下您只需要使用一些html 标记来定义用户界面。 ?HTML 网页的完整框架。 ?easyui 节省了开发产品的时间和规模。 ?easyui 非常简单,但是功能非常强大。

JQuery EasyUI 下载 您可以从https://www.wendangku.net/doc/2718082184.html,/download/index.php上下载您需要的jQuery EasyUI 版本。 JQuery EasyUI-创建 CRUD 应用 数据收集并妥善管理数据是网络应用共同的必要。CRUD 允许我们生成页面列表,并编辑数据库记录。本教程将向你演示如何使用jQuery EasyUI 框架实现一个CRUD DataGrid。 我们将使用下面的插件: ?datagrid:向用户展示列表数据。 ?dialog:创建或编辑一条单一的用户信息。 ?form:用于提交表单数据。 ?messager:显示一些操作信息。 步骤1:准备数据库 我们将使用MySql 数据库来存储用户信息。创建数据库和'tbl_user' 表。

步骤2:创建DataGrid 来显示用户信息 创建没有javascript 代码的DataGrid。 我们不需要写任何的javascript 代码,就能向用户显示列表,如下图所示:

《移动Web开发技术基础》教学大纲2015

《移动Web开发技术基础》教学大纲 一、课程名称 移动Web开发技术基础 Foundation of Mobile Web Programming 二、学时与学分 80学时(理论48、实验32)、4学分 三、适用专业 非计算机专业本科生 四、参考教材 1.《JavaScript前端开发实用技术教程》,岳学军,人民邮电出版社,2014. 9 2.(HTML5程序设计》,Peter Lubbers等,人民邮电出版社,2012.5 3.《HTML5与CSS3权威指南(第2版)》,陆凌牛,机械工业出版社,2013.3 五、课程的内容和目的 本课程作为非计算机专业本科通识课程,是一门理论和实践紧密结合的实用课程,内容包括讣算机基础部分和程序设计部分。汁算机基础部分涵盖计算机软硬件组成、数制表示、操作系统、多媒体原理和网络基础知识。程序设计部分为Web开发技术:HTML技术、CSS技术、Javascript语言、AJAX技术、HTML5新技术及HTML5 API。使学生掌握网站询端开发技术和开发移动端单页Web应用的基本原则、方法和步骤,从而使学生具有扎实的Web开发理论基础和较强的实践动手开发能力。本课程的主要目的是使学生了解计算机基础知识、Web开发技术, 具

备HTML5语言的编程能力。 基木要求 1.了解计算机基础知识。 2.了解操作系统的作用及分类 3.了解多媒体基础知识 4.了解网络基础知识,掌握网络基本应用及网络信息的获取方法 5.理解Web工作原理,了解Web技术基础。 6.熟练掌握超文本标记语言HTML文档的结构、常用文档元素的含义和基本 使用方法。 7.理解样式表语言CSS的基本概念和作用,掌握CSS的基本语法和使用方 法。 8.掌握脚本语言JavaScript的基本概念和语法,掌握JavaScript对常用 HTML文档元素的操作方法;了解文档对象模型DOM的基本概念和作用。 9.了解 HTML3 新标签及 HTML5 API 10.了解主要动态网页技术的基本概念。 七、教学大纲 第1章计算机基础知识 授课内容: 1.计算机的发展及应用 2.计算机中的信息表示(二进制、信息单位) 3.数据在计算机中的表示 4.计算机硬件系统 5.计算机软件系统 6.操作系统功能及分类 第2章多媒体技术基础 授课内容:

html5实例教程网盘下载

html5实例教程网盘下载 学习HTML、CSS基础知识,实现PC端静态页面制作(例如京东商城),响应式网页布局的制作(微软中国官网)、及WebApp页面布局(淘宝、美团等)。 html5前端人才已成为IT职场的紧缺型人才,如何自学html5?如何短时间内迅速提升html5开发能力?千锋教育html5实例教程网盘下载(https://www.wendangku.net/doc/2718082184.html,/video/html5_download.html),助力大家成为企业不可多得的贤才。 实现这些需要的知识有 1、学习HTML基本语法:双标签、单标签语法结构。 2、常用标签:标题标签、段落标签、布局标签、表格、列表、标签标签。 3、学习CSS基本语法:选择器声明。 4、学习CSS的三种样式表:内联、内部、外部 5、学习CSS的各种常用选择器 6、学习CSS的选择器、样式表的优先级和权重问题。 7、学习CSS的核心属性及属性值 8、学习CSS的元素类型的转换

9、学习CSS的定位锚地的应用 10、学习CSS中的图片整合技术的应用 11、学习CSS中常见的浏览器的兼容及解决方法 12、学习HTML5新增元素及属性 13、学习CSS3新增选择器的应用 14、学习CSS3的2D、3D、关键帧动画的相关应用 15、学习CSS3中弹性盒的应用 16、学习CSS3中媒体查询响应式的设计应用 学习JavaScript和jQuery及掌握一门后台程序语言的简单基础和一个数据库,实现PC端项目交互开发(做一个电商类型的网站开发) 需要的知识有 1、学习JavaScript的基本语法 2、学习JavaScript的循环语句 3、学习JavaScript的函数与数组 4、学习JavaScript的String和Data 5、学习JavaScript的BOM与DOM 6、学习JavaScript的相关事件 7、学习JavaScript的拖拽效果 8、学习JavaScript的cookie存储 9、学习JavaScript的正则表达式 10、学习JavaScript的Ajax的应用 11、学习JavaScript的面相对象基础

jQuery调用AJAX异步操作超清晰教程

JQUERY AJAX异步操作详细说明 AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。它并非一种新的技术,而是以下几种原有技术的结合体。 1)使用CSS和XHTML来表示。 2)使用DOM模型来交互和动态显示。 3)使用XMLHttpRequest来和服务器进行异步通信。 4)使用javascript来绑定和调用。 通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Request)/应答(Response)模型: 1)不需要用户等待服务端响应。在异步派发XMLHttpRequest请求后控制 权马上就被返回到浏览器。界面不会出现白板,在得到服务器响应之前 还可以友好的给出一个加载提示。 2)不需要重新加载整个页面。为XMLHttpRequest注册一个回调函数,待 服务器响应到达时,触发回调函数,并且传递所需的少量数据。“按需 取数据”也降低了服务器的压力。 3)不需要使用隐藏或内嵌的框架。在XHR对象之前,模拟Ajax通信通常 使用hack手段,如使用隐藏的或内嵌的框架(