精品文档
精品文档
PAGE
PAGE6
精品文档
PAGE
1、ajax是什么?ajax:asynchronousjavascriptandxml:异步的javascript和xml。ajax是一种用来改良用户体验的技术,其本质是利用浏览器内置的一种特殊的对象(XMLHttpRequest)异步(即发送恳求时,浏览器不会销毁目前页面,用户能够持续在目前页面做其余的操作)的向服务器发送恳求,并且利用服务器返回的数据(不再是一个完整的页面,只是部分的数据,一般使用文本或许xml返回)来部分更新目前页面。使用ajax技术之后,页面无刷新,并且不打断用户的操作。2、ajax对象怎样获得ajax对象?XMLHttpRequest并没有标准化,要划分浏览器:functiongetXhr(){varxhr;if(window.XMLHttpRequest){
xhr=newXMLHttpRequest();
//非
ie
浏览器
}else{
xhr=newActiveXObject('Microsoft.XMLHttp');
//ie
浏览器
}
}(2)ajax
对象的属性
a.onreadystatechange:
绑订一个事件办理函数
(即:
注册一个监听器
)
当
ajax
对象的
readyState
值发生了改变
(比方,
从0-->1),就会产生readystatechange事件。responseText:获得服务器返回的文本responseXML:获得服务器返回的XMLdom对象
d.status:
获得状态码
e.readyState:
返回
ajax
对象与服务器通讯的状态。返回值是一个
number
种类的值,不同的值表示不同的含义:(为初始化)-->对象已成立,可是尚未初始化(尚未调用open方法)
1:(
初始化)
-->对象已成立,尚未调用
send方法
2:(
发送数据)
-->send方法已调用
(数据传送中)-->已接受部分数据(响应结束)-->接收了所有的数据(3)ajax编程的基本步骤获取ajax对象(XmlHttpRequest)使用XmlHttpRequest向服务器发送恳求在服务器端办理恳求在监听器中间,办理服务器返回的响应
获取ajax对象(XmlHttpRequest)varxhr=getXhr();发送恳求xhr.open(恳求方式,恳求地点,异步仍是同步);恳求方式:get/post恳求地点:如果是get恳求,恳求参数要增添到恳求地点的后边。true表示异步恳求:ajax对象发恳求的同时,用户能够对目前页面做其余的操作。一般常用异步。false表示同步恳求:ajax对象发恳求的同时,浏览器会锁订目前页面,用户需要等待办理达成之后才能做下一步操作。方式一:get恳求varxhr=getXhr();xhr.open('get','check_name.action?name=zs',true);xhr.onreadystatechange=f1;xhr.send(null);方式二:post恳求varxhr=getXhr();xhr.open('post','check_username.action',true);//如果发送的是post恳求,需要设置消息头的编码格式为“application”xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');xhr.onreadystatechange=f1;xhr.send('username='+$F('username'));注意:因为按照http协议的要求,如果发送的post恳求,恳求数据包里面,应当有一个消息头content-type。可是,ajax对象默认没有,所以,需要调用setRequestHeader方法。
编写服务器端的代码,服务器端一般不需要返回完整的页面,只要要返回部分的数据,比方一个简单的字符串。编写监听器functionf1(){if(xhr.readyState==4){获得服务器返回的数据vartxt=xhr.responseText;//dom操作}}
function$(id)//ajax常用函数的定义{returndocument.getElementById(id);}
function$F(id){returndocumen