ajax认识:
1.ajax这是间client与server机制。但这一机制是在前台的,利用前台的闲置功能,来进行前台与后台的数据交流,以达到增强用户体检。降低server压力,更有效的利用带宽的效果。
2.ajax是採用异步交互的机制。
3.ajax使用于页面局部刷新,按需求验证和取数据。
4.ajax缺点便是浏览器的兼容问题麻烦。与嵌入式移动端对ajax的支持不太理想。
5.ajax已经是一种web开发必备的技术,并且其长处远大于缺点。
6.ajax涉及到的主要技术有7种当中Javascript、XMLHttpRequest、DOM、XML为重点。
7.XMLHttpRequest对象
XMLHttpRequest是XMLHTTP组件的对象。通过这个对象,AJAX能够像桌面应用程序
一样仅仅同server进行数据层面的交换。而不用每次都刷新界面。也不用每次将数据处
理的工作都交给server来做。这样既减轻 了服务器负担又加快了响应速度、缩短了用
户等待的时间。
Javascript
Javascript一直被定位为client的脚本语言。应用最多的地方是表单数据的校验。如今
能够通过Javascript 操作XMLHttpRequest。来跟数据库打交道。
DOM
DOM(Document Object Model)是提供给HTML和XML使用的一组API,提供了文件的
表述结构,并能够利用它改变当中的内容和可见物。脚本语言通过DOM才干够跟页面进
行交互。Web开发者可操作及建立文件的属性、方法以及事件都以对象来展现。比方,
document就代表页面对象本身。
XML
通过XML(Extensible Markup Language)。能够规范的定义结构化数据。是网上传输的
数据和文档符合统一的标准。
用XML表述的数据和文档。能够非常easy的让全部程序共享。
ajax的创建:
考虑兼容性:
1.浏览器分为IE与非IE,当中非IE是遵循W3C标准的。创建方式基本同样,而IE不一样,其每一个版本号创建的方式也有所不同。
2.创建ajax
function createAjax(){
var request=false;
//window对象中有XMLHttpRequest存在就是非IE,包含(IE7,IE8)
if(window.XMLHttpRequest){
request=new XMLHttpRequest();
有些浏览器是须要覆盖eMimeType
if(request.overrideMimeType){
request.overrideMimeType("text/xml");//指定文本类型
}
//window对象中有ActiveXObject属性存在就是IE
}else if(window.ActiveXObject){
//将IE各个版本号的浏览器的參数放在一个数组里面
var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTT4.0','MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
//遍历这个数组,确定是那个版本号,进行相应AJAX的创建
for(var i=0; i
{
try{
request=new ActiveXObject(versions[i]);
if(request){return request;}
}catch(e){
request=false;
}
}
}
return request;
}
var ajax=createAjax();//创建AJAX
alert(ajax);測试
ajax的对象的方法与属性
1.XMLHttpRequest对象的属性:
onreadystatechange状态改变的事件触发器
readyState对象状态(integer):
0 = 未初始化 1 = 读取中 2 = 已读取 3 = 交互中 4 = 完毕
responseTextserver进程返回数据的文本版本号
responseXMLserver进程返回数据的兼容DOM的XML文档对象
statusserver返回的状态码, 如:404 = "文件未找到" 、200 ="成功"
statusTextserver返回的状态文本信息
2.XMLHttpRequest对象的方法:
abort()停止当前请求
getAllResponseHeaders()作为字符串返回完整的headers
getResponseHeader("headerLabel")作为字符串返回单个的header标签
open("method","URL"[,asyncFlag[,"userName"[, "password"]]])设置未决的请求的目标 URL,方法,和其它參数
send(content)
发送请求
setRequestHeader("label", "value")设置header并和请求一起发送
版权声明:本文博客原创文章,博客,未经同意,不得转载。