一个AJAX处理函数

来源:互联网 发布:3小时网络创业计划书 编辑:程序博客网 时间:2024/05/19 11:46

这个函数处理的比较出色,放到JS里方便调用,bg_Ajax_gGetXmlHttpRequest这个返回浏览器的类型,而后一个函数主要是通过传递一些参数返回你需要的数据url是要提交到的网址PostData数据,至于CALLBACK是是否返回数据.

function bg_Ajax_GetXMLHttpRequest() {
    
if (window.XMLHttpRequest) {
        
return new XMLHttpRequest();
    } 
else {
        
if (window.Ajax_XMLHttpRequestProgID) {
            
return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
        } 
else {
            
var progIDs = ["Msxml2.XMLHTTP.5.0""Msxml2.XMLHTTP.4.0""MSXML2.XMLHTTP.3.0""MSXML2.XMLHTTP""Microsoft.XMLHTTP"];
            
for (var i = 0; i < progIDs.length; ++i) {
                
var progID = progIDs[i];
                
try {
                    
var x = new ActiveXObject(progID);
                    window.Ajax_XMLHttpRequestProgID 
= progID;
                    
return x;
                } 
catch (e) {
                }
            }
        }
    }
    
return null;
}
function bg_Ajax_Callback(url, postData, callback)
{
    
var x = bg_Ajax_GetXMLHttpRequest();
    
var result = null;
    
if (!x) {
        result 
= { "value":null"error""NOXMLHTTP"};
        
if (debugErrors) {
            alert(
"error: " + result.error);
        }
        
if (clientCallBack) {
            clientCallBack(result);
        }
        
return result;
    }

    x.open(
"POST", url, callback ? true : false);
    x.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded; charset=utf-8");
    
if (callback) {
        x.onreadystatechange 
= function() {
            
var result = null;
            
if (x.readyState != 4) {
                
return;
            }
            callback(x.responseText)
        }
    }
    x.send(postData);
}

本文转自
http://www.cnblogs.com/lucangel/archive/2006/07/19/454926.html

原创粉丝点击