您的位置:首页 > Web前端 > JavaScript

Ajax(异步 JavaScript 和 XML)

2017-11-26 16:07 302 查看
Ajax = 异步JavaScript 和XML (标准通用标记语言的子集)。
Ajax 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

创建XMLHttpRequest对象:

XMLHttpRequest是AJAX的基础,现代浏览器均内建XMLHttpRequest对象。为了满足新老版本浏览器,应传递不同的参数保证能成功创建XMLHttpRequest对象
//获得XMLHttp对象
function createXMLHttp(){
//对于大多数的浏览器适用
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
//要考虑浏览器的兼容性
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
if(!xmlHttp){//如果不支持上述参数,创建对象失败,换个参数
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
}
return xmlHttp;
}

向服务器发送请求:

方法:XMLHttpRequest.open("GET/POST",URL,true);     

           //分别传递请求的类型,文件在服务器上的位置,true(异步)或false(同步)

          XMLHttpRequest.send();

GEt方法与POST方法的使用方法不一样,各有各的风格

ajax服务器响应:

属性:responseText:获得字符串形式的响应数据;responseXML:获得的XML形式的响应数据

onreadystatechange事件:当readyState改变时,就会触发此事件,readyState属性存有XMLHttpRequest的状态信息。
onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。

readyState:0~请求未初始化;1~服务器连接已建立;2~请求已接收;3~请求处理中;4~请求已完成,且响应已就绪

status:200:“OK”;404:“未找到页面”

规定当服务器响应已做好被处理的准备时所执行的任务。 readyState 等于 4 且状态为 200 时,表示响应已就绪:用回调函数来执行需要的操作

//回调函数
function callback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){//服务器响应值为200,表示响应成功;404:资源未找到;500代表服务器内部错误(程序崩了)
var result=xmlHttp.responseText;//交互成功,获得相应的数据,是文本格式
//进行相应的操作
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: