ajax学习笔记----一个初步的ajax开发框架

  1. ajax_func.js的代码如下
// 定义XMLHttpRequest实例
var  http_request  =   false ;
// 定义可复用的http请求发送函数,初始化、指定处理函数、发送请求的函数
function  send_request(method, url, content, responseType, callback)  {
    http_request 
= false;
    
//开始初始化XMLHttpRequest对象
    if(window.XMLHttpRequest) {
        
//Mozilla浏览器
        http_request = new XMLHttpRequest();
        
if(http_request.overrideMimeType) {
            
//设置MIME类别
            http_request.overrideMimeType("text/xml");
        }

    }
 else if(window.ActiveXObject) {
        
//IE浏览器
        try {
            http_request 
= new ActiveXObject("Msxml2.XMLHTTP");
        }

        
catch (e) {
            
try {
                http_request 
= new ActiveXObject("Microsoft.XMLHTTP");
            }

            
catch (e){}
        }

    }


    
if(!http_request) {
        
//异常,创建对象实例失败
        window.alert("不能创建XMLHttpRequest对象实例.");
        
return false;
    }


    
if(responseType.toLowerCase() == "text" || responseType.toLowerCase() == "xml"{
        http_request.onreadystatechange 
= callback;
    }
  else {
        window.alert(
"响应类别参数错误.");
        
return false;
    }


    
//确定发送请求的方式和URL以及是否一步执行下段代码
    if(method.toLowerCase() == "get"{
        http_request.open(method, url, 
true);
    }
 else if(method.toLowerCase() == "post"{
        http_request.open(method, url, 
true);
        http_request.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded");
    }
 else {
        window.alert(
"http请求类别参数错误.");
        
return false;
    }


    http_request.send(content);
}

 

2. 回调函数举例

     1)处理返回文本格式信息的函数举例(调用send_request方法时responseType为text)

function  processTextResponse()  {
    
if(http_request.readyState == 4{
        
if(http_request.status == 200{
            
//信息已经成功返回,开始处理信息
            alert("Text文档相应.");
        }
 else {
            alert(
"您所请求的页面有异常.");
        }

    }

}

    2)处理返回格式信息的函数举例(调用send_request方法时responseType为xml)

function  processXMLResponse()  {
    
if(http_request.readyState == 4{
        
if(http_request.status == 200{
            
//信息已经成功返回,开始处理信息
            alert("XML文档相应.");
        }
 else {
            alert(
"您所请求的页面有异常.");
        }

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值