一、ajax简介
1、是asynchronous javascript and XML 的简写。翻译过来就是异步的javascript和XML,其中XML(Extensible Markup Language)是指可扩展标记语言,是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
2、ajax这一技术能够向服务器请求额外的数据而无需卸载页面,会带来更好的用户体验。
3、ajax包含的步骤:
- 创建AJAX对象
- 发出HTTP请求
- 接收服务器传回的数据
- 更新网页的数据
总之就是ajax通过原生的XMLHttpRequest对象发出HTTP请求,得到服务器返回的数据后,再进行处理。
二、详解ajax的几个重要步骤
(一)创建ajax对象
ajax技术的核心是XMLHttpRequest对象(简称XHR)。创建一个XHR对象,因为XMLHttpRequest()是一个构造函数,所以也可以说是实例化一个XHR对象。下面就是创建XHR对象的兼容写法。
var xhr;
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
(二)发送请求
1、 open()
该方法接收三个参数:
xhr.open("get","example.php","false");
- open()方法第一个参数用于指定发送请求的方式,不区分大小写,通常使用大写字母。"GET"和"POST"是得到广泛支持的。该参数还可以是“HEAD”、“OPTIONS”、“PUT”。
- 第二个参数是URL,该URL相当于执行代码的当前页面,且只能向同一个域中使用相同协议和端口的URL发送请求。如果URL与启动请求的页面有任何差别,都会引起安全错误。
- 第三个参数是表示是否异步发送请求的布尔值,如果不填写,默认为true,表示异步发送。
- 如果请求一个受密码保护的URL,则将用于认证的用户名和密码作为第四个和第五个参数。
2、 send()
- 该方法接收一个参数,即要作为请求主体要发送的数据。调用send()方法后,请求会被分派到服务器
- 如果是“GET”方法,send()方法就无参数,或者参数为null。如果是“POST”方法,send()方法的参数则是数据。
xhr.open("GET","