ajax详解
1.ajax字符编码必须统一,不管是什么形式的编码,否则乱码
2.缓存,第一次是从服务器直接读,然后缓存在硬盘后面再读取就会快(但是会导致数据无法及时更新)
3.缓存是根据url来的同一个地址读取一次,所以阻止缓存让url一直在变,方法在url加没用的?t=new Date().getTime()
4.get与post区别:get通过网址传递, 容量小,不安全,有缓存,post相反。get一般用于获取数据,post用于上传数据
5.ajax的过程(手机 拨号 说 听)
(1)创建ajax对象(xmlHttpRequest)
(2)与服务器建立连接
(3)发送请求
(4)接收返回值
6.创建ajax对象兼容ie6
1 var ajax; 2 if(window.activeXObject){ 3 ajax=new activeXobject('Microsoft.XmlHttp'); 4 }else{ 5 ajax=new XmlHttpRequest(); 6 } 7 8 或 9 try{ 10 ajax=new activeXobject('Microsoft.XmlHttp'); 11 }catch(){ 12 ajax=new XmlHttpRequest(); 13 }
7.与服务器建立连接ajax.open('get/post',url,true),第三个参数是否异步
8.发送请求ajax.send()
9.ajax的状态值变化readyState(0 1 2 3 4),通过onReadyStateChange这个事件进行监听
0 :在没进行ajax.open()之前
1.发送请求
2.服务器返回信息,还未解析
3.服务器解析信息
4.服务器返回完成(不管成功或失败都会返回)
1 ajax.onReadyStateChange=function(){ 2 if(ajax.readyState==4){ 3 if(ajax.status==200){//这一步才能确定返回的消息是成功的 4 var data=ajax.responseText(); 5 } 6 } 7 }