ajax学习笔记
ajax的基础——XMLHttpRequest
XMLHttpRequest用于在后台与服务器交换数据,做到不用刷新整个页面,对网页的某个部分更新
创建XMLHttpRequest对象
对所有现代浏览器及老版本的IE都可以使用的创建对象语句:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
使用XMLHttpRequest对象
需使用两个方法:
- open(method,url,async)
- send(string)(string)仅用于POST请求
什么时候用GET请求,什么时候用POST请求?
在以下情况中使用POST请求:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST没有数量限制)
- 发送包含未知字符的用户输入时。
其他情况下,都用GET请求,因为更简单也更快。
服务器响应
要获得来自服务器的响应,可以使用XMLHttpRequest的两个属性:
- responseText——获得字符串形式的响应
- responseXML——获得XML形式的响应
onreadystatechange事件
XMLHttpRequest的三个重要属性:
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState | 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化 0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪 |
status | 200: "OK" 404: 未找到页面 |
使用callback函数
callback函数是一种以参数形式传递给另一个函数的函数。
如果有多个AJAX任务,那么应该为创建XMLHttpRequest对象编写一个标准的函数,并为每个AJAX任务调用该函数。
该函数应该包含URL以及发生onreadychange事件时执行的任务。
本文笔记记录自w3cschool的AJAX教学。