基本思路:
1、创建核心对象 XmlHttpRequest对象,注意IE和非IE如Firfox,oprea,safari,chrome的兼容问题。
2、绑定回调函数 (onreadystatechange、 readyState==4 、)
3、打开链接 (open)
4、发送数据 (send)
5、处理回调函数 (xmlHttpRequest.responseText;)
核心Ajax对象的几种状态,分别代表什么含义?(面试题)
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
<script type="text/javascript">
/*
* 4致的流程以及核心对象的5种状态分别代表的含义
*/
//ajax异步请求的步骤
//处理IE和火狐等浏览器不兼容的问题
//获得xmlHTTPRequest对象
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//1、创建核心对象 2、绑定回调函数 3、打开链接 4、发送数据 5、处理回调函数
function fn(){
//得到核心请求对象
var xmlRequest = GetXmlHttpObject();
//绑定回调函数
xmlRequest.onreadystatechange=function(){
//这里书写当请求提交后需要处理的业务逻辑
//当请求状态为发送完成
if(xmlRequest.readyState == 4){
//当发送的状态为成功
if(xmlRequest.status==200){
//使用request对象的responseText方法得到服务器端打印的字符
document.getElementById("T1").innerHTML=xmlRequest.responseText;
}else{
alert("error"+xmlRequest.statusText);
}
}
}
//打开发送链接
xmlRequest.open("GET","test.jsp",true);
//发送请求
xmlRequest.send();
}
</script>
1、创建核心对象 XmlHttpRequest对象,注意IE和非IE如Firfox,oprea,safari,chrome的兼容问题。
2、绑定回调函数 (onreadystatechange、 readyState==4 、)
3、打开链接 (open)
4、发送数据 (send)
5、处理回调函数 (xmlHttpRequest.responseText;)
核心Ajax对象的几种状态,分别代表什么含义?(面试题)
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
<script type="text/javascript">
/*
* 4致的流程以及核心对象的5种状态分别代表的含义
*/
//ajax异步请求的步骤
//处理IE和火狐等浏览器不兼容的问题
//获得xmlHTTPRequest对象
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//1、创建核心对象 2、绑定回调函数 3、打开链接 4、发送数据 5、处理回调函数
function fn(){
//得到核心请求对象
var xmlRequest = GetXmlHttpObject();
//绑定回调函数
xmlRequest.onreadystatechange=function(){
//这里书写当请求提交后需要处理的业务逻辑
//当请求状态为发送完成
if(xmlRequest.readyState == 4){
//当发送的状态为成功
if(xmlRequest.status==200){
//使用request对象的responseText方法得到服务器端打印的字符
document.getElementById("T1").innerHTML=xmlRequest.responseText;
}else{
alert("error"+xmlRequest.statusText);
}
}
}
//打开发送链接
xmlRequest.open("GET","test.jsp",true);
//发送请求
xmlRequest.send();
}
</script>