ajax进度条特效怎么写
首发

ajax进度条特效怎么写

优质
请用语音读文章

一、ajax的简介

Ajax被认为是(Asynchronous(异步) javaScript And Xml的缩写)。现在。允许浏览器与服务器通信而无须刷新目前页面的技术都被叫做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 () {

var oBtn = document.getElementById("btn1");

oBtn.onclick = function () {

//1.创建ajax对象

//只兼容非ie6的浏览器。在ie6浏览器上运行会提示没有被定义

//var oAjax = new XMLHttpRequest();//这才是ajax实际的请求

//alert(oAjax);

//ie6浏览器下根据下面方法写,但是在别的浏览器中不应该用。会报错。

//var oAjax = new ActiveXObject("Microsoft.XMLHTTP");

//alert(oAjax);

//鉴于上面出现的问题。应该采取下面的方法解决。用if判断是否为IE6浏览器

if (window.XMLHttpRequest)//如果有XMLHttpRequest。那么是非IE6浏览器。()里面加window的原因下面会有描述。

{

var oAjax = new XMLHttpRequest();//创建ajax对象

}

else//如果没有XMLHttpRequest。那么是IE6浏览器

{

var oAjax = new ActiveXObject("Microsoft.XMLHTTP");//IE6浏览器创建ajax对象

}

//2.连接服务器

//open(方法、文件名、异步传输)

//方法:

//传输方法是get方法还是post方法。

//文件名

//跟你说服务器要读哪个文件

//异步传输

//异步:多件事一件一件的做

//同一时间:多件事件一起进行

//但是js里面的同一时间和异步和线下的同一时间异步相反。

//同一时间:多件事一件一件的做

//异步:多件事件一起进行

//ajax天生是用来做异步的

oAjax.open("GET", "a.txt?t='+new Date().getTime()", true);//加上t='+new Date().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进度条

var xhr = $.ajaxSettings.xhr();

if (onprogress && xhr.upload) {

xhr.upload.addEventListener("progress", progressBar, false);

return xhr;

}

},

beforeSend: function () {

//请求前的处理

},

success: function (req) {

//请求成功时处理

},

complete: function () {

//请求完成的处理

},

error: function () {

//请求出错处理

}

});

当然。jquery还有很多无脑变形的写法。

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

台北近40人械斗互砍(近40人互砍)

请用语音读文章台北市士林区延平北路九段3日凌晨1时左右发生大规模械斗。近40人相约[...

全球佛教圣地排名(世界十大佛教圣地)

请用语音读文章曾经在古佛经中有着关于佛教圣地的相关记载。而佛教作为世界三大宗教之一[...

旅游日记(日记600字)

请用语音读文章一早乘大巴车离开斯德哥尔摩下午六点到达挪威首都奥斯陆。在晚饭前首先游[...

发表评论

您的电子邮箱地址不会被公开。