Professional Documents
Culture Documents
XMLHttpRequest 对象方法
方法 描述
abort() 停止当前请
求
getAllResponseHeaders() 作为字符串
返问完整的
headers
getResponseHeader("headerLabel") 作为字符串
返问单个的
header 标
签
open("method","URL"[,asyncFlag[,"userName"[, 设置未决的
"password"]]]) 请求的目标
URL, 方法,
和其他参数
send(content) 发送请求
setRequestHeader("label", "value") 设置
header 并
和请求一起
发送
XMLHttpRequest 对象属性
属性 描述
onreadystatechange 状态改变的事件触发器
readyState 对象状态(integer):
0 = 未初始化
1 = 读取中
2 = 已读取
3 = 交互中
4 = 完成
responseText 服务器进程返回数据的文本版本
responseXML 服务器进程返回数据的兼容 DOM 的 XML 文
档对象
status 服务器返回的状态码, 如:404 = "文件末找
到" 、200 ="成功"
statusText 服务器返回的状态文本信息
2、JavaScript
JavaScript 是一在浏览器中大量使用的编程语言,,他以前一直被贬低为一门糟
糕的语言(他确实在使用上比较枯燥),以在常被用来作一些用来炫耀的小玩意和恶
作剧或是单调琐碎的表单验证。但事实是,他是一门真正的编程语言,有着自已的标准
并在各种浏览器中被广泛支持。
3、DOM
Document Object Model。
DOM 是给 HTML 和 XML 文件使用的一组 API。它提供了文件的结构表述,让
你可以改变其中的內容及可见物。其本质是建立网页与 Script 或程序语言沟通的桥梁。
图 5-1
图 5-2
其次,即使要读取比较大的数据,也不用像 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 好;
七、结束语
更好的 Ajax 应用,需要更多的客户端的开发,和对当前的 WEB 应用理念的思考,
而且良好的用户体验,来源于为处处用户考虑的理念,而不单纯是某种技术。