AJAX相关知识

来源:互联网 发布:如何发送淘宝商品链接 编辑:程序博客网 时间:2024/05/16 14:26

======================================================
注:本文源代码点此下载
======================================================

ajax (pronounced/?e?d?æks/; shorthand for asynchronousjavascript andxml)[1] is a group of interrelatedweb development techniques used on theclient-side to create interactiveweb applications. with ajax,web applications can retrieve data from theserver asynchronously in the background without interfering with the display and behavior of the existing page.

知识背景:

html、css、javascript、 一种web服务端技术(java/.net/php/...)

在ajax中各技术点之间的关联

展示: html or xhtml and css

动态布局展示及与数据交互:thedocument object model (dom)

数据交换载体及数据展现的控制:xmlxsltjavascript object notation (json)

异步交互:the xmlhttprequest object

将所有上述技术整合到一起:javascript / vbscript

历史:

1990s 年代同步操作,加载需刷新整体界面,并包括布局、数据、样式

1995 java applets 引入浏览器,可以通过编译过的代码通过jvm异步获取服务端数据

1996 iframe 引入ie

1999 xmlhttpactivex control 引入internet explorer 5

1999+ mozilla, safari, opera 等添加了 xmlhttprequest javascript object支持

ie7版本也引入native xmlhttprequest model

outlook web access (2000)[6]

oddpost (2002)

gmail (2004)

google maps (2005)

april 5, 2006 theworld wide web consortium (w3c) 发布xmlhttprequest object 相关标准

优点

异步操作,按需请求,节省流量

用户体验较同步方式好

缺点

由于异步操作没有在浏览器的history中进行注册,所以当用户点击浏览器的后退/返回按钮时就会返回到上一个浏览过的页面,而不是一个ajax请求的回退(解决方案:用不可见的iframe触发浏览器的history的变化,在浏览器的地址的#后添加参数,以作标识)

无法使用书签来记录当前页面的状态(在浏览器的地址的#后添加参数,以作标识)

受网络环境所限,可能引起异步请求不及时,用户无法从浏览器获得当前请求处理的状态(用程序跟用户以友好的提示)

异步请求的数据无法被搜索引擎索引

在不具备、没有启用javascript的设备、软件上无法使用异步请求(用原始的客户端操作方式替代实现)

不能进行跨域访问

需针对异步请求的实践方式编写相应的测试用例和测试工具,以写出安全可靠的异步交互代码

异步交互将会增加更多的服务端请求,对服务器端的应用造成较同步方式更多的负载

异步的编程方式较同步的编程方式更难维护和调试

因为没有了基于wai-aria standards的html,所以屏幕的阅读将受到影响

源文档


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击