今天我学习了佟老师讲的ajax的知识:
一、 Ajax
a) 允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。数据在客户端与服务器之间独立传输。服务器不再返回整个页面
b) XMLHttpRequest:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成 XMLHttpRequest 对象的代名词
二、 Ajax工具包
a) Ajax并不是一项新技术,它实际上是几种技术,每种技术各尽其职,以一种全新的方式聚合在一起
b) 服务器端语言:服务器需要具备向浏览器发送特定信息的能力。Ajax与服务器端语言无关。
c) XML (eXtensible Markup Language,可扩展标记语言) 是一种描述数据的格式。Aajx 程序需要某种格式化的格式来在服务器和客户端之间传递信息,XML 是其中的一种选择
d) XHTML(eXtended Hypertext Markup Language,使用扩展超媒体标记语言)和 CSS(Cascading Style Sheet,级联样式单)标准化呈现;
e) DOM(Document Object Model,文档对象模型)实现动态显示和交互;
f) 使用XMLHTTP组件XMLHttpRequest对象进行异步数据读取
g) 使用JavaScript绑定和处理所有数据
三、 Ajax的缺陷
a) 由 Javascript 和 AJAX 引擎导致的浏览器的兼容
b) 页面局部刷新,导致后退等功能失效。
c) 对流媒体的支持没有FLASH、Java Applet好。
d) 一些手持设备(如手机、PDA等)支持性差。
四、 XMLHttpRequest
a) 创建XMLHttpRequest对象: 为了每次写Ajax的时候都节省一点时间,可以把对象检测的内容打包成一个可复用的函数:
五、 数据格式提要
a) 在服务器端 AJAX 是一门与语言无关的技术。在业务逻辑层使用何种服务器端语言都可以。
b) 从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。服务器端的编程语言只能以如下 3 种格式返回数据:XML JSON HTML
c) 练习:点击连接就会显示个人的信息html
d) 解析 HTML
e) HTML 由一些普通文本组成。如果服务器通过 XMLHttpRequest 发送 HTML, 文本将存储在 responseText 属性中。
f) 不必从 responseText 属性中读取数据。它已经是希望的格式,可以直接将它插入到页面中。
g) 插入 HTML 代码最简单的方法是更新这个元素的 innerHTML 属性。
六、 Xml数据:
a) 解析xml数据:练习,xml/index.html
七、 JSON数据格式:
a) 一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
b) 练习:testjson.html
c) 解析 JSON:函数 会把一个字符串当作它的参数。然后这个字符串会被当作 JavaScript 代码来执行。因为 JSON 的字符串就是由 JavaScript 代码构成的,所以它本身是可执行的
d) 练习:ajax-1-4/json
e) JSON优点: 作为一种数据传输格式,JSON 与 XML 很相似,但是它更加灵巧。JSON 不需要从服务器端发送含有特定内容类型的首部信息
八、 对比小结
a) 若应用程序不需要与其他应用程序共享数据的时候, 使用 HTML 片段来返回数据时最简单的
b) 如果数据需要重用, JSON 文件是个不错的选择, 其在性能和文件大小方面有优势
c) 当远程应用程序未知时, XML 文档是首选, 因为 XML 是 web 服务领域的 “世界语”
九、 jQuery 中的 Ajax
a) load() 方法:解析html
b) 只获取<h2>
c) 传递方式: load() 方法的传递参数根据参数 data 来自动自定. 如果没有参数传递, 采用 GET 方式传递, 否则采用 POST 方式:
d) 对于必须在加载完才能继续的操作, load() 方法提供了回调函数, 该函数有三个参数: 代表请求返回内容的 data; 代表请求状态的 textStatus 对象和 XMLHttpRequest 对象
总结:对于三种数据格式,使用jquery可以很轻松的进行解析,比起JavaScript的解析,jquery要简单多了,代码简单,容易编写。所以应该掌握jquery的使用。