原生ajax
ajax工作步骤:
1.创建ajax对象;
2.建立连接,连接服务器;
3.发送请求信息;
4.接收请求回应信息;
//1.创建ajax对象
var oAjax=null;
if(window.XMLHttpRequest){
var oAjax=new XMLHttpRequest();
}else{
var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE6下使用
}
//2.建立连接
//open(请求方法,URL地址,异步还是同步)
oAjax.open('get','123.txt',true);
//3.发送请求
oAjax.send();
//4.接收数据相应
//onreadystatechange 判断响应状态
oAjax.onreadystatechange=function(){
if(oAjax.readyState==4){
if(oAjax.status==200)
{
alert('请求成功:'+oAjax.reponseText);
}else
{
alert('请求接收失败');
}
}
}
readyState
readyState==0 (未初始化)还没有调用open方法
readyState==1 (载入)已调用open方法,还未发送请求
readyState==2 (载入完成) send()方法完成,已收到全部响应内容
readyState==3 (解析)正在解析响应内容
readyState==4 (完成) 响应内容解析完成,可以在客户端调用了。
status 请求结果
responseText 数据内容
ajax向服务器请求数据使用到两种方式:
get:向服务器请求数据;
post:向服务器发送数据,上传数据。安全性好。
在这里顺便提一下缓存机制(这里主要指web缓存->浏览器端的缓存):
WWW是互联网上最受欢迎的应用之一,其快速增长造成网络拥塞和服务器超载,导致客户访问延迟增大,WWW服务质量日益显现出来。缓存技术被认为是减轻服务器负载、降低网络拥塞、增强WWW可扩展性的有效途径之一,其基本思想是利用客户访问的时间局部性(Temproral Locality)原理,将客户访问过的内容在Cache中存放一个副本,当该内容下次被访问时,不必连接到驻留网站,而是由Cache中保留的副本提供。(来自百科)
缓存 只在第一次浏览时读取,以后都是在读取浏览器缓存上的东西(在未清理浏览器缓存的情况下);
如何清除缓存?
2.建立连接
oAjax.open('get','123.txt',true);
此处的url地址可以记为 '123.txt?+new Date().getTime()' 这样每次读取时还是读取源文件内容,只不过读取的是最新的内容。
缓存的好处:降低服务器压力;方便用户操作;
弊处:服务器后端改了某些东西,前台一直处于缓存状态,更新不过来。