一、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 () {五、ajax的jQuery写法:
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进度条特效怎么写】}
};
$.ajax({当然 。jquery还有很多无脑变形的写法 。
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 () {
//请求出错处理
}
});
- 女性手链排行榜前十名 手链品牌排行榜前十名
- 镁条燃烧后为什么固体质量减少了 镁条燃烧后怎么固体质量减少了
- 去长沙孤儿院领养孩子要什么条件 领养孩子的条件是什么
- 五倍子树插条方法 五倍子的种植技术
- 土地出让规划条件是什么 土地出让规划条件有哪些
- 家中最简单炸油条方法 家庭做小油条简单方法
- 粿条和河粉的区别 粿条和河粉有什么不同
- 微信逐条转发与合并转发 微信逐条转发合并转发区别
- 联动云押金退款进度在哪看 联动云退押金退到哪
- 木板木条储存方法 木板木条如何储存