一个AJAX处理函数

博客展示了两个AJAX处理函数。bg_Ajax_GetXMLHttpRequest函数用于获取XMLHttpRequest对象,会根据不同浏览器情况返回相应对象;bg_Ajax_Callback函数用于发起POST请求,根据是否有回调函数进行异步或同步处理,并在请求完成时执行回调。
这个函数处理的比较出色,放到JS里方便调用,bg_Ajax_gGetXmlHttpRequest这个返回浏览器的类型,而后一个函数主要是通过传递一些参数返回你需要的数据url是要提交到的网址PostData数据,至于CALLBACK是是否返回数据
 1None.gif
 2ExpandedBlockStart.gifContractedBlock.giffunction bg_Ajax_GetXMLHttpRequest() dot.gif{
 3ExpandedSubBlockStart.gifContractedSubBlock.gif    if (window.XMLHttpRequest) dot.gif{
 4InBlock.gif        return new XMLHttpRequest();
 5ExpandedSubBlockStart.gifContractedSubBlock.gif    }
 else dot.gif{
 6ExpandedSubBlockStart.gifContractedSubBlock.gif        if (window.Ajax_XMLHttpRequestProgID) dot.gif{
 7InBlock.gif            return new ActiveXObject(window.Ajax_XMLHttpRequestProgID);
 8ExpandedSubBlockStart.gifContractedSubBlock.gif        }
 else dot.gif{
 9InBlock.gif            var progIDs = ["Msxml2.XMLHTTP.5.0""Msxml2.XMLHTTP.4.0""MSXML2.XMLHTTP.3.0""MSXML2.XMLHTTP""Microsoft.XMLHTTP"];
10ExpandedSubBlockStart.gifContractedSubBlock.gif            for (var i = 0; i < progIDs.length; ++i) dot.gif{
11InBlock.gif                var progID = progIDs[i];
12ExpandedSubBlockStart.gifContractedSubBlock.gif                try dot.gif{
13InBlock.gif                    var x = new ActiveXObject(progID);
14InBlock.gif                    window.Ajax_XMLHttpRequestProgID = progID;
15InBlock.gif                    return x;
16ExpandedSubBlockStart.gifContractedSubBlock.gif                }
 catch (e) dot.gif{
17ExpandedSubBlockEnd.gif                }

18ExpandedSubBlockEnd.gif            }

19ExpandedSubBlockEnd.gif        }

20ExpandedSubBlockEnd.gif    }

21InBlock.gif    return null;
22ExpandedBlockEnd.gif}

23None.giffunction bg_Ajax_Callback(url, postData, callback)
24ExpandedBlockStart.gifContractedBlock.gifdot.gif{
25InBlock.gif    var x = bg_Ajax_GetXMLHttpRequest();
26InBlock.gif    var result = null;
27ExpandedSubBlockStart.gifContractedSubBlock.gif    if (!x) dot.gif{
28ExpandedSubBlockStart.gifContractedSubBlock.gif        result = dot.gif"value":null"error""NOXMLHTTP"};
29ExpandedSubBlockStart.gifContractedSubBlock.gif        if (debugErrors) dot.gif{
30InBlock.gif            alert("error: " + result.error);
31ExpandedSubBlockEnd.gif        }

32ExpandedSubBlockStart.gifContractedSubBlock.gif        if (clientCallBack) dot.gif{
33InBlock.gif            clientCallBack(result);
34ExpandedSubBlockEnd.gif        }

35InBlock.gif        return result;
36ExpandedSubBlockEnd.gif    }

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

46InBlock.gif            callback(x.responseText)
47ExpandedSubBlockEnd.gif        }

48ExpandedSubBlockEnd.gif    }

49InBlock.gif    x.send(postData);
50ExpandedBlockEnd.gif}

转载于:https://www.cnblogs.com/lucangel/archive/2006/07/19/454926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值