知识点的罗列:
一、什么是AJAX?
(1) AJAX = 异步 JavaScirpt 和 XML。
(2) AJAX是一种用于创建快速动态网页的技术
(3) 通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。【AJAX是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术】
二、AJAX基于因特网标椎(使用以下技术结合):
(1) XMLHTTpRequest 对象(与服务器异步交互数据)
(2) JavaScript/DOM (显示/取回信息)
(3) CSS (设置数据的样式)
(4) XML (常用数据的样式)
【AJAX 应用程序是独立浏览器和平台的】
/*
同步与异步:
1、 同步
- 就是指一个进程在执行某个请求的时候
- 若该请求需要一段时间才返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去
-
同步 //请求一 1ms
//请求二 1ms
//请求三 1ms
- 异步 1.3ms
2、 异步
- 是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。
- 当有信息返回系统会通知进程进行处理,这样可以提高执行的效率
异步实现:
1、运用HTML与CSS来实现页面,表达信息
2、运用XMLHttpRequest和web服务器进行数据的异步交换
3、运用JavaScript操作DOM,实现动态局部刷新
*/
三、ajax方法()
常见参数:
(1)options 类型:Object
可选。AJAX请求设置。所有选项都是可选的。
(2)async 类型:Boolean
默认值:true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将次选项设置 为false。(同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。)
(3)complete 类型:function- 请求完成后回调函数(请求成功或失败之后均调用)
- 参数: XMLHttpRequest 对象和一个描述请求类型的字符串。(这是一个ajax事件)
(4)contentType 类型:string - 默认值: “application/x-www-form-urlencoded”。发送信息至服务器时内容编码类型。
- 默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。
(5) data 类型:string - 发送到服务器的数据。将自动转换为请求字符串格式。
- GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。
(6) datatype 类型:string
- 默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。
- 预期服务器返回的数据类型。
- 如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被 识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。
- 随后服务器端返回的数据会根据这个值解析后,传递给回调函数。
(7)error 类型:function - 默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。
- 有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
- 如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 “timeout”, “error”, “notmodified” 和 “parsererror”。
(8)success 类型:function - 请求成功后的回调函数。
- 参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。 (这是一个ajax事件)
(9)type 类型:string - 默认值: “GET”)。
- 请求方式 (“POST” 或 “GET”), 默认为 “GET”。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
(10)url 类型:string
- 默认值: 当前页地址。发送请求的地址。
常用回调函数:
(1) Success
- 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。
(2) Complete - 当请求完成之后调用这个函数,无论成功或失败。传入 XMLHttpRequest 对象,以及一个包含成功或错误代码的字符串
用AJAX方法发送数据到服务器: - 默认情况下,ajax请求使用get方法。如果要使用 POST 方法,可以设定 type 参数值。这个选项也会影响 data 选项中的内容如何发送到服务器。 (method:也可以设置方式)
//常用的ajax提交做法: