一个AJAX处理函数

这个函数处理的比较出色,放到JS里方便调用,bg_Ajax_gGetXmlHttpRequest这个返回浏览器的类型,而后一个函数主要是通过传递一些参数返回你需要的数据url是要提交到的网址PostData数据,至于CALLBACK是是否返回数据
 1
 2function bg_Ajax_GetXMLHttpRequest() {
 3    if (window.XMLHttpRequest) {
 4        return new XMLHttpRequest();
 5    }
 else {
 6        if (window.Ajax_XMLHttpRequestProgID) {
 7            return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
 8        }
 else {
 9            var progIDs = ["Msxml2.XMLHTTP.5.0""Msxml2.XMLHTTP.4.0""MSXML2.XMLHTTP.3.0""MSXML2.XMLHTTP""Microsoft.XMLHTTP"];
10            for (var i = 0; i < progIDs.length; ++i) {
11                var progID = progIDs[i];
12                try {
13                    var x = new ActiveXObject(progID);
14                    window.Ajax_XMLHttpRequestProgID = progID;
15                    return x;
16                }
 catch (e) {
17                }

18            }

19        }

20    }

21    return null;
22}

23function bg_Ajax_Callback(url, postData, callback)
24{
25    var x = bg_Ajax_GetXMLHttpRequest();
26    var result = null;
27    if (!x) {
28        result = "value":null"error""NOXMLHTTP"};
29        if (debugErrors) {
30            alert("error: " + result.error);
31        }

32        if (clientCallBack) {
33            clientCallBack(result);
34        }

35        return result;
36    }

37
38    x.open("POST", url, callback ? true : false);
39    x.setRequestHeader("Content-Type""application/x-www-form-urlencoded; charset=utf-8");
40    if (callback) {
41        x.onreadystatechange = function() {
42            var result = null;
43            if (x.readyState != 4{
44                return;
45            }

46            callback(x.responseText)
47        }

48    }

49    x.send(postData);
50}

posted on 2006-07-19 19:44  Work Log  阅读(448)  评论(0)    收藏  举报