什么是ajksdocWord文档下载推荐.docx

上传人:b****3 文档编号:7560461 上传时间:2023-05-08 格式:DOCX 页数:18 大小:29.04KB
下载 相关 举报
什么是ajksdocWord文档下载推荐.docx_第1页
第1页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第2页
第2页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第3页
第3页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第4页
第4页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第5页
第5页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第6页
第6页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第7页
第7页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第8页
第8页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第9页
第9页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第10页
第10页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第11页
第11页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第12页
第12页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第13页
第13页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第14页
第14页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第15页
第15页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第16页
第16页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第17页
第17页 / 共18页
什么是ajksdocWord文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

什么是ajksdocWord文档下载推荐.docx

《什么是ajksdocWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《什么是ajksdocWord文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

什么是ajksdocWord文档下载推荐.docx

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

一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。

时刻想着用户

AJAX的最大机遇在于用户体验。

在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写;

因此开发人员必须更注重用户。

现在用户已经逐渐习惯如何使用Web应用了。

例如用户通常希望每一次按钮点击会导致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况。

因此用户需要重新体验按钮点击的响应了。

可用性是AJAX令人激动的地方而且已经产生了几种新颖的技术。

其中最引人注目的是一种称为"

黄色隐出"

的技术,它在数据更新之前时将用户界面变为黄色,更新完成后立刻恢复原来的颜色。

AJAX开发人员将用户从Web应用的负载中解放出来;

小心地利用AJAX提供的丰富接口,不久桌面开发人员会发现AJAX是他们的方向。

几种工具和技术

随着AJAX迅速地引人注目起来,我想开发人员对这种技术的期待也迅速地增加。

就像任何新技术,AJAX的兴旺也需要一整个开发工具/编程语言及相关技术系统来支撑。

JavaScript

如名字所示,AJAX的概念中最重要而最易被忽视的是它也是一种JavaScript编程语言。

JavaScript是一种粘合剂使AJAX应用的各部分集成在一起。

在大部分时间,JavaScript通常被服务端开发人员认为是一种企业级应用不需要使用的东西应该尽力避免。

这种观点来自以前编写JavaScript代码的经历:

繁杂而又易出错的语言。

类似的,它也被认为将应用逻辑任意地散布在服务端和客户端中,这使得问题很难被发现而且代码很难重用。

在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果。

XMLHttpRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网面上。

XMLHttpRequestXMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。

使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。

开发人员应该已经熟悉了许多其他XML相关的技术。

XPath可以访问XML文档中的数据,但理解XMLDOM是必须的。

类似的,XSLT是最简单而快速的从XML数据生成HTML或XML的方式。

许多开发人员已经熟悉Xpath和XSLT,因此AJAX选择XML作为数据交换格式是有意义的。

XSLT可以被用在客户端和服务端,它能够减少大量的用JavaScript编写的应用逻辑。

CSS

为了正确的浏览AJAX应用,CSS是一种AJAX开发人员所需要的重要武器。

CSS提供了从内容中分离应用样式和设计的机制。

虽然CSS在AJAX应用中扮演至关重要的角色,但它也是构建跨浏览器应用的一大阻碍,因为不同的浏览器厂商支持各种不同的CSS级别。

服务器端

但不像在客户端,在服务端AJAX应用还是使用建立在如Java,.Net和PHP语言基础上机制;

并没有改变这个领域中的主要方式。

既然如此,我们对RubyonRails框架的兴趣也就迅速增加了。

在一年多前,RubyonRails已经吸引了大量开发人员基于其强大功能来构建Web和AJAX应用。

虽然目前还有很多快速应用开发工具存在,RubyonRails看起来已经储备了简化构建AJAX应用的能力。

开发工具

在实际构建AJAX应用中,你需要的不只是文本编辑器。

既然JavaScript是非编译的,它可以容易地编写和运行在浏览器中。

然而,许多工具提供了有用的扩展如语法高亮和智能完成。

不同的IDE提供了对JavaScript支持的不同等级。

来自JetBrains的IntelliJIDEA是一个用来JavaScript开发的更好的IDE,虽然许多开发人员也喜欢Microsoft'

sVisualStudio产品(允诺会在最新的版本中改善对AJAX的支持)。

Eclipse包含了两个免费的JavaScript编辑器插件和一个商业的来自ActiveStat的KomodoIDE。

另一个JavaScript和AJAX开发中的问题是调试困难。

不同的浏览器提供不同的通常是隐藏的运行时错误信息,而JavaScript的缺陷如双重变量赋值(通常是由于缺少数据类型)使得调试更加困难。

在AJAX的开发中,调试就更复杂了,因为其需要标识究竟是客户端还是服务端产生的错误。

在过去,JavaScript调试的方法是删除所有代码然后一行行的增加直到错误出现。

现在,更多开发人员回到为IE准备的MicrosoftScriptDebugger和为Mozilla浏览器准备的Venkman。

浏览器兼容性

JavaScript编程的最大问题来自不同的浏览器对各种技术和标准的支持。

构建一个运行在不同浏览器(如IE和火狐)是一个困难的任务。

因此几种AJAXJavaScript框架或者生成基于服务端逻辑或标记库的JavaScript,或者提供符合跨浏览器AJAX开发的客户端JavaScript库。

一些流行的框架包括:

AJAX.Net,Backbase,Bitkraft,Django,DOJO,DWR,MochiKit,Prototype,Rico,Sajax,Sarissa,andScript.aculo.us.

这些框架给开发人员更多的空间使得他们不需要担心跨浏览器的问题。

虽然这些框架提升了开发人员构建应用的能力,但由于厂商已经开发了更细节的用户界面的打包组件解决方案,因此在AJAX组件市场中需要考虑一些其他因素。

例如提供通用用户界面的组件如组合框和数据栅格的几个厂商,都可以被用来在应用中创建良好的通过类似电子数据表方式来查看和编辑数据的体验。

但这些组件不仅是封装了组件的用户界面而且包括与服务端数据的通讯方式,这些组件通常使用基于标记方式来实现如ASP.Net或JSF控件。

展望

最近IE和火狐之间的浏览器之争变得火热起来,因此AJAX开发人员需要足够敏捷的作出反应。

关键点在一些问题如CSS或XML,虽然各种浏览器形成采用最新标准的不同阵营(如Mozilla拥抱SVG和E4X标准及在最新火狐BETA版本中使用XUL,而微软使用自己的XAML技术)。

所有这些技术代表当前AJAX主流JavaScript和XML的市场方向改变。

总的来说,AJAX开发人员必须尽快地跟进最新的技术并利用高产的工具集。

成功的AJAX开发人员还需要留心他们的使用者以避免将任何问题扩大化。

并且AJAX开发人员还需要持续地创新来创建增强Web应用易用性的新方法。

AJAX示例程序

将以下文本放入一个HTML页面即可看到效果,将会有两次弹出提示,最后在页面上显示YES,表示完成

SCRIPTLANGUAGE="

JavaScript"

--

functionajaxByJyking(){

varxmlhttp_request="

"

try{

if(window.ActiveXObject){

for(vari=5;

i;

i--){

if(i==2){

xmlhttp_request=newActiveXObject("

Microsoft.XMLHTTP"

);

}

else{

Msxml2.XMLHTTP."

+i+"

.0"

xmlhttp_request.setRequestHeader("

Content-Type"

"

text/xml"

Charset"

gb2312"

break;

catch(e){

xmlhttp_request=false;

}}}

elseif(window.XMLHttpRequest)

{xmlhttp_request=newXMLHttpRequest();

if(xmlhttp_request.overrideMimeType)

{xmlhttp_request.override.MimeType('

text/xml'

catch(e){xmlhttp_request=false;

xmlhttp_request.open('

GET'

'

true);

xmlhttp_request.send(null);

xmlhttp_request.onreadystatechange=function(){

if(xmlhttp_request.readyState==4){

//收到完整的服务器响应

document.write("

yes"

}else{

alert

(1)

ajaxByJyking();

//--

/SCRIPT

主要包含了以下几种技术

Ajax(AsynchronousJavaScript+XML)的定义

基于web标准(standards-basedpresentation)XHTML+CSS的表示;

使用DOM(DocumentObjectModel)进行动态显示及交互;

使用XML和XSLT进行数据交换及相关操作;

使用XMLHttpRequest进行异步数据查询、检索;

使用JavaScript将所有的东西绑定在一起。

英文参见Ajax的提出者JesseJamesGarrett的原文,原文题目(Ajax:

ANewApproachtoWebApplications)。

类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。

事实上,一些基于AJAX的"

派生/合成"

式(derivative/composite)的技术正在出现,如"

AFLAX"

AJAX的应用使用支持以上技术的web浏览器作为运行平台。

这些浏览器目前包括:

Mozilla、Firefox、InternetExplorer、Opera、Konqueror及Safari。

但是Opera不支持XSL格式对象,也不支持XSLT。

发展史

该技术在1998年前后得到了应用。

允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由OutlookWebAccess小组写成。

该组件原属于微软ExchangeServer,并且迅速地成为了InternetExplorer4.0的一部分。

部分观察家认为,OutlookWebAccess是第一个应用了Ajax技术的成功的商业应用程序,并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊。

但是,2005年初,许多事件使得Ajax被大众所接受。

Google在它著名的交互应用程序中使用了异步通讯,如Google讨论组、Google地图、Google搜索建议、Gmail等。

Ajax这个词由《Ajax:

ANewApproachtoWebApplications》一文所创,该文的迅速流传提高了人们使用该项技术的意识。

另外,对Mozilla/Gecko的支持使得该技术走向成熟,变得更为易用。

AJAX前景非常乐观,可以提高系统性能,优化用户界面。

AJAX现有直接框架AjaxPro,可以引入AjaxPro.2.dll文件,可以直接在前台页面JS调用后台页面的方法。

但此框架与FORM验证有冲突。

另微软也引入了AJAX组件,需要添加AjaxControlToolkit.dll文件,可以在控件列表中出现相关控件。

优点和缺点

传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。

服务器接收并处理传来的表单,然后返回一个新的网页。

这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。

由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。

这导致了用户界面的响应比本地应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。

因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。

同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。

这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。

随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。

同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。

对应用Ajax最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。

在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。

一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;

用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。

不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。

(例如,当用户在GoogleMaps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。

一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。

该问题的解决方案也已出现,大部分都使用URL片断标识符(通常被称为锚点,即URL中#后面的部分)来保持跟踪,允许用户回到指定的某个应用程序状态。

(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应用程序能够在更新显示内容的同时更新锚点。

)这些解决方案也同时解决了许多关于不支持后退按钮的争论。

进行Ajax开发时,网络延迟--即用户发出请求到服务器发出响应之间的间隔--需要慎重考虑。

不给予用户明确的回应,没有恰当的预读数据,或者对XMLHttpRequest的不恰当处理,都会使用户感到延迟,这是用户不欲看到的,也是他们无法理解的。

通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容。

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

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

Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;

现有的解决有:

在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;

对串流媒体的支持没有FLASH、JavaApplet好;

Ajax图书

Ajax基础教程(亚马逊计算机榜首图书,国内第1本Ajax图书)

作者:

(美)阿斯利森,(美)舒塔著,金灵等译

出版社:

人民邮电出版社

出版时间:

2006-2-1字数:

356000版次:

1页数:

253印刷时间:

2006/02/01开本:

印次:

纸张:

胶版纸ISBN:

9787115144812包装:

平装

Ajax技术应知应会90题

编著:

卜维丰

改编:

丁卫颖、付瑞锋

电子工业出版社

2008年5月

开本:

720*10001/16印张:

22.75页数:

354页ISBN:

978-7-121-06197-4定价:

39.80元(含光盘一张)

基础应用

创建XMLHttpRequest方法如下

XMLHttpRequest类首先由InternetExplorer以ActiveX对象引入,被称为XMLHTTP。

后来Mozilla﹑Netscape﹑Safari和其他浏览器也提供了XMLHttpRequest类,不过它们创建XMLHttpRequest类的方法不同。

对于InternetExplorer浏览器:

Msxml2.XMLHTTP.3.0"

//3.0或4.0,5.0xmlhttp_request=newActiveXObject("

Msxml2.XMLHTTP"

由于在不同InternetExplorer浏览器中XMLHTTP版本可能不一致,为了更好的兼容不同版本的InternetExplorer浏览器,因此我们需要根据不同版本的InternetExplorer浏览器来创建XMLHttpRequest类,上面代码就是根据不同的InternetExplorer浏览器创建XMLHttpRequest类的方法。

对于Mozilla﹑Netscape﹑Safari等浏览器

创建XMLHttpRequest方法如下:

xmlhttp_request=newXMLHttpRequest();

如果服务器的响应没有XMLmime-typeheader,某些Mozilla浏览器可能无法正常工作。

为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header。

xmlhttp_request.overrideMimeType('

在实际应用中,为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法写成如下形式:

{xmlhttp_request.overrideMimeType('

发送请求了

可以调用HTTP请求类的open()和send()方法,如下所示:

URL,true);

open()的第一个参数是HTTP请求方式-GET,POST或任何服务器所支持的您想调用的方式。

按照HTTP规范,该参数要大写;

否则,某些浏览器(如Firefox)可能无法处理请求。

第二个参数是请求页面的URL。

第三个参数设置请求是否为异步模式。

如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。

这就是"

AJAX"

中的"

A"

服务器的响应

这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。

可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:

xmlhttp_request.onreadystatechange=FunctionName;

FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后,例如:

//JavaScript代码段

};

首先要检查请求的状态。

只有当一个完整的服务器响应已经收到了,函数才可以处理该响应。

XMLHttpRequest提供了readyState属性来对服务器响应进行判断。

readyState的取值如下:

0(未初始化)

1(正在装载)

2(装载完毕)

3(交互中)

4(完成)

所以只有当readyState=4时,一个完整的服务器响应已经收到了,函数才可以处理该响应。

具体代码如下:

if(http_request.readyState==4){//收到完整的服务器响应}

else{//没有收到完整的服务器响应}

当readyState=4时,一个完整的服务器响应已经收到了,接着,函数会检查HTTP服务器响应的状态值。

完整的状态取值可参见W3C文档。

当HTTP服务器响应的值为2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2