Ajax 初步
Ajax = 异步JS和XML,是一种用于创建快速动态网页的技术。
XMLHttpRequest 对象
用于在后台和服务器交换数据,可使网页的某部分更新的同时,不重新加载整个页面。
1 | var request = new XMLHttpRequest(); |
XMLHttpRequest 对象有许多种方法,其中Send()、Open()方法用于向服务器发送请求。
方法 | 描述 |
---|---|
open(method, url, async) | method: 请求类型,“GET”/“POST” url: 文件在服务器上的位置 async: 同步(false)或异步(true) |
send(string) | 仅用于POST请求 |
‘ GET ‘ Or ‘ POST ‘?
GET相较于POST更快更简单,但在以下情况中,使用POST:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
1 | //GET请求 |
onreadystatechange 事件
onreadystatechange 是一个事件处理函数,它会在服务器给XMLHttpRequest 对象送回响应的时候被触发执行,可能有5个值:
0表示未初始化
1表示正在加载
2表示加载完毕
3表示正在交互
4表示完成
只要readyState的属性变成4,同时status为200(404时,页面不存在),就可以访问服务器发送回来的数据了。一般,会给它制定一个处理函数:
1 | request.onreadystatechange = function(){ |
访问服务器发送回来的数据时,需要通过两个属性完成:
responseText 用于保存文本字符串形式的数据
responseXML 用于保存Content-Type(http中的属性)头部中指定为“text/xml”的数据
Reference :