提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、AJAX概念
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML);是一种可达到更快速刷新的动态页面技术
优点:不需要刷新整个页面的前提下,更新局部页面,根据用户操作,实现异步刷新
缺点:浏览器需要允许JavaScript执行权限、旧版本IE浏览器需要处理兼容性问题
二、实现步骤
1.创建XMLHttpRequest对象
创建对象语法(IE7+、Firefox、Chrome、Safari 以及 Opera):
javascript xmlHttp=new XMLHttpRequest();
IE7以下浏览器创建对象语法:
xmlhttp = new ActiveXObject("microsoft.XMLHTTP")
2.向服务器发送请求
XMLHttpRequest对象包含Open()和Send()方法实现向服务器发送请求
xmlhttp.open("GET/POST","URL","URL是否异步处理请求")
xmlhttp.send(string) //仅限post请求使用,用于提交请求数据
补充
GET方法与POST方法的区别:
GET()
1、请求体将会再URL中显示,URL数据长度受限(最大长度是 2048 个字符)
2、由于传输数据容量受到限制,常用于向服务器获取资源
3、当传送未知字符时,GET请求容易导致数据出错
POST()
1、请求体不会再URL中显示
2、可接受大容量数据传送,常用于向服务器提交数据
3、安全性较高
3.设置请求头方法 setRequestHeader()
例如:
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
4.服务器响应
通过XMLHttpRequest对象属性ResponseText和ResponseXML得到响应数据
对象属性 | 属性含义 |
---|---|
ResponseXML | 从服务器端获取XML形式文件 |
ResponseText | 从服务器端获取字符串形式响应 |
服务器响应—ReadyStateChange事件
AJAX请求对象XMLHttpResquest的ReadyState属性,记录请求响应过程中的状态变化,当状态发生变化将触发ReadySateChange事件。
ReadyState属性状态包括:
状态码 | 请求状态 |
---|---|
0 | 请求未初始化 |
1 | 服务器连接已经建立 |
2 | 请求已接收 |
3 | 请求处理中 |
4 | 请求已完成,且响应已经就绪 |
另外,Status属性包含有两个状态码
状态码 | 状态码含义 |
---|---|
200 | “OK” |
404 | 页面未找到 |
我们规定readyState=4 和 status=200时,处理响应信息
总结
本文仅仅简单介绍了AJAX的基础使用,而在实际应用中,需要根据不同的环境和需求需要更灵活的使用,参考了一些文章(菜鸟教程),为加深印象自己整合了一份笔记,小白一枚如有不足,恭请大佬指点,以上。