ajax的概念
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
*AJAX 异步请求数据。
什么是Ajax?
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
这意味着可以在不重新加载整个网页的情况下,
对网页的某部分进行更新。
传统的网页(不使用 AJAX)如需果要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。
*AJAX是前后端交互数据的一种技术,它只要是异步请求数据!!!!
<body>
<!--
ajax兼容低版本浏览器(ie6、5)的写法:
new ActiveXObject('Microsoft.XMLHTTP')
-->
</body>
<script type="text/javascript">
var xhr=null;
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest()
}else{
xhr=new ActiveXObject('Microsoft.XMLHTTP')
}
</script>
</html>
2:同步/异步
同步的意思:在编程中同步的意思是浏览器器解析代码的顺序(从前往后,从左往右)
:假如和大家约好去餐厅吃饭,大家在规定的时间都到齐了,就直接开吃,这个过程叫同步
举例:
alert(a)
alert(‘哈哈哈’)
异步的意思:在编程中异步的意思是浏览器器解析代码的时候,因为特殊原因可以直接执行后面的代码,不用先执行前面的代码
:假如和大家约好去餐厅吃饭,大家在规定的时间都到齐了,就差栗文勇没来,那你们先吃,我来以后再吃,这个过程叫异步
<script type="text/javascript">
// 同步/异步
// 同步
// alert(k);
// alert('哈哈');
// 异步
// setTimeout(function(){
// alert(a)
// },3000)
// alert('哈哈哈')
</script>
3:同步和异步相比:
1:同步请求的工作效率要比异步请求效率高!
2:异步请求比同步请求更灵活!
4:localhost= =127.0.0.1 这个指向的是本地服务
file:这个指向的是本机
5:ajax的基本结构
var obtn=document.getElementById('btn');
obtn.onclick=function(){
var xhl=new XMLHttpRequest();
xhl.open('GET','js/1.txt',true);
xhl.send();
xhl.onreadystatechange=function(){
if(xhl.status= =200&&xhl.readyState= =4){
alert(xhl.responseText)
}
}
}
6:创建ajax对象
var xhl=new XMLHttpRequest();
XMLHttpRequest 对象用于和服务器交换数据。
向服务器发送请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
7:open()
open(method,url,async)
open(‘get/post’,地址,异步/同步)
open(‘get/post’,地址,true/false)true= =同意异步 false= =不同意异步 (就是同步的意思)
8:get和post的区别概念:
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。
3.get安全性非常低,post安全性较高。
GET 还是 POST?
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
9:send()方法 作用是发送请求
10:onreadystatechange ajax事件
11:ajax对象下的属性
responseText 返回请求数据文本内容(字符串格式)
status 返回HTTP状态码
statusText 返回HTTP状态说明
readyState 事件当时的状态
status HTTP状态码
200 服务器成功返回了页面
400 语法错误导致服务器不识别
401 请求需要用户认证
404 指定的url(地址)在服务器上找不到
500 服务器遇到意外错误,无法完成请求
503 服务器过载或维护导致无法完成请求
readyState 事件当时的状态
0 未初始化
1 启动
2 发送
3 接受
4 完成