精彩导读:
人生错过的总比没错过的多,每个人都有无数次的错过。所以我们不必为自己的错过而歉疚而悲哀,应该为自己的拥有而喜悦。错过漂亮,你拥有健康:错过健康,你拥有智慧;错过智慧,你拥有善良;错过善良,你拥有财富;错过财富,你拥有安逸;错过安逸,你拥有自由;错过自由,你拥有人格……
有许多朋友给我们发了信息询问各方面的问题,今天呆玛网将为大家来详细介绍“ajax异步刷新页面_ajax进度条特效怎么写”。希望对你们有所帮助!原创内容如下:
Ajax被认为是(Asynchronous(异步)javaScriptAndXml的缩写)。现在,允许浏览器与服务器通信而无须刷新目前页面的技术都被叫做Ajax.
同一时间是指:发送方发出资料后,等接收方发回响应未来才发下一个资料包的通讯方法。
异步是指:发送方发出资料后,不等接收方发回响应,接着发送下个资料包的通讯方法。
二、ajax的缺陷AJAX超级多的使用了JavaScript和AJAX引擎,而这种取决于浏览器的支持。IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支持,Mozilla即便也支持AJAX,但是提供XMLHttpRequest的方法不一样。所以,使用AJAX的程序一定测试针对各个浏览器的兼容性。
AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;一些客户还总是搞不清楚现在的资料是旧的还是已经更新过的。这种就需要在显然地点提醒客户“资料已更新”。
对流媒体的支持没有FLASH好。
一些手持设备(如手机、PDA等)现在还不应该较好的支持Ajax。
三、ajax的四种type类别:1、GET请求会向资料库发索取资料的请求,从而来获取消息,该请求就像资料库的select操作一样,只是用来查询一下资料,不会改写、增加资料,不会波及资源的内容,即该请求不会发生副作用。无论进行多少次操作,结果都是一样的。
2、与GET不一样的是,PUT请求是向服务器端发送资料的,从而变化消息,该请求就像资料库的update操作一样,用来改写资料的内容,但是不会增加资料的种类等,也只是说无论进行多少次PUT操作,其结果并没有不一样。
3、POST请求同PUT请求类似,都是向服务器端发送资料的,但是该请求会变化资料的种类等资源,就像资料库的insert操作一样,会创建新的内容。几乎目前全部的提交操作都是用POST请求的。
4、DELETE请求顾名思义,只是用来删除某一个资源的,该请求就像资料库的delete操作。
无脑的说只是get理解为查询delete只是删除post只是新增put只是更新资料
四、ajax的原生写法window.onload=function(){
varoBtn=document.getElementById("btn1");
oBtn.onclick=function(){
//1.创建ajax对象
//只兼容非ie6的浏览器,在ie6浏览器上运行会提示没有被定义
//varoAjax=newXMLHttpRequest();//这才是ajax实际的请求
//alert(oAjax);
//ie6浏览器下根据下面方法写,但是在别的浏览器中不应该用,会报错。
//varoAjax=newActiveXObject("Microsoft.XMLHTTP");
//alert(oAjax);
//鉴于上面出现的问题,应该采取下面的方法解决,用if判断是否为IE6浏览器
if(window.XMLHttpRequest)//如果有XMLHttpRequest,那么是非IE6浏览器。()里面加window的原因下面会有描述。
{
varoAjax=newXMLHttpRequest();//创建ajax对象
}
else//如果没有XMLHttpRequest,那么是IE6浏览器
{
varoAjax=newActiveXObject("Microsoft.XMLHTTP");//IE6浏览器创建ajax对象
}
//2.连接服务器
//open(方法、文件名、异步传输)
//方法:
//传输方法是get方法还是post方法。
//文件名
//跟你说服务器要读哪个文件
//异步传输
//异步:多件事一件一件的做
//同一时间:多件事件一起进行
//但是js里面的同一时间和异步和线下的同一时间异步相反。
//同一时间:多件事一件一件的做
//异步:多件事件一起进行
//ajax天生是用来做异步的
oAjax.open("GET","a.txt?t='+newDate().getTime()",true);//加上t='+newDate().getTime()"的目的是为了消除缓存,每次的t的值不一样。
//3.发送请求
oAjax.send();
//4.接收返回
//软件和服务器端有交互的时候会调用onreadystatechange
oAjax.onreadystatechange=function(){
//oAjax.readyState//浏览器和服务器,进行到哪一步了。
//0->(未初始化):还没有调用open()方法。
//1->(载入):已调用send()方法,正在发送请求。
//2->载入完成):send()方法完成,已收到全部响应内容。
//3->(分析):正在分析响应内容。
//4->(完成):响应内容分析完成,应该在软件调用。
if(oAjax.readyState==4){
if(oAjax.status==200)//判断是否成功,如果是200,就代表成功
{
alert("成功"+oAjax.responseText);//读取a.txt文件成功就弹出成功。后面加上oAjax.responseText会输出a.txt文本的内容
}
else{
alert("失败");
}
}
};
}
};
五、ajax的jQuery写法:$.ajax({
url:"http://www.microsoft.com",//请求的url地址
dataType:"json",//返回格式为json
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
data:{
"id":"value"
},//参数值
type:"GET",//请求方法
processData:false,//对表单data资料是否进行序列化
contentType:false,//dataType设置你收到服务器资料的格式
xhr:function(){//ajax进度条
varxhr=$.ajaxSettings.xhr();
if(onprogress&&xhr.upload){
xhr.upload.addEventListener("progress",progressBar,false);
returnxhr;
}
},
beforeSend:function(){
//请求前的处理
},
success:function(req){
//请求成功时处理
},
complete:function(){
//请求完成的处理
},
error:function(){
//请求出错处理
}
});
当然,jquery还有很多无脑变形的写法。
以上内容就是关于“ajax异步刷新页面_ajax进度条特效怎么写”的全部内容,是由网友投稿,呆玛网小编认真整理编辑的,如果对您有帮助请收藏转发!感谢支持!
因笔者能力有限、时间紧迫等原因,文中有些内容仍需继续探讨和深入研究。因此,今后笔者将就下列问题进行延伸性的研究和探讨:
暂无评论,6351人围观