ajax通用框架

 
/*
*   XMLHttpRequest对象初始化
*/

function  initXMLHttpRequest()  {
     
var http_request;
     
if (window.XMLHttpRequest) // 支持IE7,Mozilla, Safari, ...
         http_request = new XMLHttpRequest();
     }

     
else if (window.ActiveXObject) // 支持IE
         http_request = new ActiveXObject("Microsoft.XMLHTTP");
     }

     
return http_request;
}

/*
* ajax调用(不传参数,直接得到表单上的所有值)
* @param url   获取数据的URL
* @param divId 插入节点id
* @param element 自定义的responseXML节点名称,如果为空,则为text对象
* @param para 参数名(如果不输入,则为提交整个表单的参数)
*/

function  ajax(http_request, url, divId, element, para)
{
     
var htmlProcess = "加载中...";
     
if (typeof(element) == "undefined" || "" == element)
         http_request.onreadystatechange 
= callbackText;
     
else
         http_request.onreadystatechange 
= callbackXML;
     
var linkUrl;
     
if (typeof(para) == "undefined")
     
{
         
var allInputValue = getUrl();
         linkUrl 
= url + allInputValue;
     }

     
else
     
{
         linkUrl 
= url + para;
     }

     
// 确定发送请求的方式和URL以及是否同步执行下段代码
     http_request.open("POST", linkUrl, true);
     
//   http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
     http_request.send(null);

     
/*
     * 返回responseText
     
*/

     
function callbackText() {
         
if (http_request.readyState == 4{
             divId.innerHTML 
= htmlProcess;
             
if (http_request.status == 200 || http_request.status == 0{
                 divId.innerHTML 
= http_request.responseText;
             }

         }

         
else {
             divId.innerHTML 
= htmlProcess;
         }

     }

     
/*
     * 返回responseXML
     
*/

     
function callbackXML() {
         
if (http_request.readyState == 4{
             
if (http_request.status == 200 || http_request.status == 0{
                 
var mes = http_request.responseXML.getElementsByTagName(element)[0].firstChild.data;
                 divId.innerHTML 
= mes;
             }

         }

     }

}


/*
* 得到表单上所有input框的值
*/

function  getUrl()  {
     
var str = "";
     
//input框
     var tgname = "input";
     
var inputNode = document.getElementsByTagName(tgname);
     
for (var i = 0; i < inputNode.length; i++{
         
//得到input框的name字段的值
         var nodeNames = inputNode[i].getAttribute("name");
         str 
= str + nodeNames + "=" + inputNode[i].value + "&";
     }

     
var url = "?" + str;
     
return url;
}


/*
* XML方式得到返回到页面的值
*/

function  getElement(http_request, url, element, username)  {
     
var allInputValue = getUrl();
     linkUrl 
= url + allInputValue;
     
// 确定发送请求的方式和URL以及是否同步执行下段代码
     http_request.open("POST", linkUrl, true);
     
//   http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
     http_request.send(null);
     http_request.onreadystatechange 
= callbackXML;
     
function callbackXML() {
         
if (http_request.readyState == 4{
             
if (http_request.status == 200 || http_request.status == 0{
                 
var mes = http_request.responseXML.getElementsByTagName(element)[0].firstChild.data;
                 username.value 
= mes;
             }

         }

     }


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值