ajax|刷新|页面 曾记得INTERNET被用户称作"world wide wait"吗? web又回到了新石器时代了么? 在许多应用中, web仍然没有得到很大的改变。充斥着form、按钮,页面转移,等待,页面刷新,纠正错误,点击、等待……这可真够受的。 现在的许多网站,例如许多经过精心设计的网站得到了很大的提高。需要更多的用户响应,这样浏览器会在服务器处理完以后才得到响应。 例如google map就是这样工作的:客户机会将所有的信息缓存起来,这样用户在移动地图,放大等活动的时候,就不再需要和服务器进行繁琐而缓慢的数据交互。 AJAX是Asynchronous JavaScript and XML的简称。主要是由一组大家比较熟悉的技术组建而成: JavaScript:脚本语言…… XMLHttpRequest:Javascript中的一个对象,可以通过HTTP协议和服务器进行通信。Ajax的许多技巧都是通过这个对象去实现的, 所有的主流浏览器,如Mozilla Firefox, Internet Explorer 5, Safari, Opera 7.6 都支持这个对象。 Extensible Markup Language (XML): XMLHttpRequest可以使用xml文件和服务器进行通信。 HTML CSS: 文档对象模型DOM: XSLT: AJAX可以说不是一个新的技术,而是已有技术的再利用。 重点介绍一下XMLHttpRequest对象:该对象可以从服务器得到数据,用户可以很方便的使用这些数据。对象有自己的API: 表 1-1. XMLHttpRequest 属性 表 1-2. XMLHttpRequest方法方法名返回值/描述 属性名 类型/描述 onreadystatechange 回调函数; 将此属性设置成那些将被调用的函数。 readyState 数字; 0 表示没有初始化, open() 函数没有调用; 1表示加载, send() 函数没有调用; 2 表示加载了, send() 已经调用,且headers/status 是可用的; 3 交互的, responseText 持有部分数据; 4 表示完成. responseText string;返回的普通文本. responseXMLDOM Document object; an XML return value. status响应的状态代码,例如200 (ok) 404 (不存在). statusText string; 于HTTP 响应状态相关的文本。
< abort() void; 取消HTTP请求. getAllResponseHeaders() string; 返回所有的相应头 getresponseHeader(string header) string; 返回指定head信息的值 open(string url,string asynch) void; 为HTTP 请求准备,并且 指定是否同步 send(string) void; 发送http请求。 setHeader(string header,string value) void; 设置请求头, 但是必须首先调用open函数
Ajax hacks 之绪论:告别页面刷新
80酷酷网 80kuku.com