浅析Ajax技术

来源:互联网 发布:淘宝物流重量怎么填 编辑:程序博客网 时间:2024/06/06 08:54

项目中一直在使用Ajax技术,今天抽时间总结一下:

一、什么是 Ajax
Asynchronous Javascript And Xml,异步的 JavaScript 和 Xml。实质是利用浏览器内置的一个特殊对象XMLHttpRequest,(一般称之为 Ajax 对象)异步地向服务器发送请求,服务器送回部分数据,在浏览器端,可以利用这些数据部分更新当前页面。整个过程,页面无刷新,不打断用户的操作。之前,都是先销毁原来的页面,然后发送请求,等待服务器发送响应,再生成新页面。

二、同步与异步的区别
1、同步:提交请求-->等待服务器处理-->处理完毕返回,这个期间客户端浏览器不能干任何事

2、异步:请求通过事件触发-->服务器处理-->处理完毕,用户仍然可以对当前页面作其他的操作 
3、同步是阻塞模式,异步是非阻塞模式。

4、同步(发送方发出数据后,等待接收方发回响应) 异步(发送方发出数据后,不等待接收方发回响应)  

三、Ajax 对象的属性
1、onreadystatechange:绑定一个事件处理函数(监听器),该函数用来处理 readystatechange事件。 Ajax 对象的readyState 属性发生改变,会产生 onreadystatechange 事件。
2、responseText:获得服务器返回的文本数据。
3、responseXML:获得服务器返回的 Xml 文档。
4、status:获得状态码。
5、readyState:返回 Ajax 对象与服务器通讯的状态,返回值是一个 number 类型的值。
一共有 5 个值,分别是:
(1)0:(未初始化)对象已建立,但是尚未初始化(尚未调用 open 方法)。
(2)1:(初始化)对象已建立,尚未调用 send 方法。
(3)2:(发送数据) send 方法已调用。
(4)3:(数据传送中)已接收部分数据。
(5)4:(响应结束) Ajax 对象已经获得了服务器返回的所有的数据。

四、Ajax 的优点
1、页面无刷新,不打断用户的操作。
2、按需要获取数据,浏览器与服务器端之间的数据传输量大大减少。
3、是一种标准化的技术,不需要下载任何插件。

五、JSON

JSON是JavaScript Object Natation,一种轻量级的数据交换技术规范。JSON将数据转换成一种中间的,与平台无关的数据格式(比如 Xml 或者 JSON 字符串)发送给另外一方来处理。相对于 Xml,所需的数据大小要小的多,并且解析的速度更快。

1、JSON 语法
(1)表示一个对象(键值对形式)
{ 属性名:属性值,属性名:属性值……}
注意:
①属性名要使用引号括起来。
②属性值如果是字符串,要使用引号括起来。
③属性值可以是 string、 number、 boolean、 null、 object。
(2)JavaScript 中创建对象的三种方式:
 方式一:使用 Json 语法来创建
 var p = {'name':'hang','age':24};
 方式二:使用 Object 来创建
 var obj = new Object(); obj.name = 'hang'; obj.age = 24;
 方式三:利用 JavaScript 函数来创建
 function Person(name,age){
 this.name = name;  this.age = age; }
 var person1 = new Person("hang",24)
(3)表示一个对象组成的数组, [ {},{},{},……]

2、使用JSON编写Ajax

(1)Java 对象转换成 JSON 字符串
 一般使用 JSON 官方提供的 API( json-lib)来实现转换
情形一: Java 对象转换成一个 JSON 字符串,使用 JSONObject.fromObject()
情形二: Java 对象组成的集合转换成一个 JSON 字符串,使用 JSONArray.fromObject()
情形三: Java 对象组成的数组转换成一个 JSON 字符串,使用 JSONArray.fromObject()
(2)JSON 字符串转换成 JavaScript 对象
可以使用以下函数:
① $(id): document.getElementBuId(id);
② $F(id): $(id.value);
③ $(id1,id2,id3...):分别依据 id1,id2...查找对应的节点,然后放到一个数据里面返回。
④ strip():除掉字符串两端的空格。
⑤ evalJSON():将 JSON 字符串转换成对应的 JavaScript 对象或者 JavaScript 对象组成的数组。

1 0
原创粉丝点击