`
hwpok
  • 浏览: 250834 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AJAX 精辟 的 工具

阅读更多
var XmlHttpPool = {
    m_MaxPoolLength : 
10,
    m_XmlHttpPool : [],

    __requestObject : 
function() {
        
var xmlhttp = null;
        
var pool = this.m_XmlHttpPool;
        
for (var i = 0; i < pool.length; ++i) {
            
if (pool[i].readyState == 4 || pool[i].readyState == 0{
                xmlhttp 
= pool[i];
                
break;
            }

        }

        
if (xmlhttp == null{
            
return this.__extendPool();
        }

        
return xmlhttp;
    }
,

    __extendPool : 
function() {
        
if (this.m_XmlHttpPool.length < this.m_MaxPoolLength) {
            
var xmlhttp = null;
            
try {
                xmlhttp 
= new ActiveXObject('MSXML2.XMLHTTP');
            }
 catch(e) {
                
try {
                    xmlhttp 
= new ActiveXObject('Microsoft.XMLHTTP');
                }
 catch(e2) 
              }

            }

            
if (xmlhttp) {
                
this.m_XmlHttpPool.push(xmlhttp);
            }

            
return xmlhttp;
        }

    }
,
    GetRemoteData : 
function(url, callback) {
        
this.__receiveRemoteData(url, callback, 'GET', null);
    }
,        
    GetRemoteDataXML : 
function(url, callback) {
        
this.__receiveRemoteDataXML(url, callback, 'GET', null);
    }
,
    GetRemoteDataEx : 
function(url) {
        
return this.__receiveRemoteDataEx(url, 'GET', null);
    }
,
    GetRemoteDataExXML : 
function(url, callback) {
        
this.__receiveRemoteDataExXML(url, 'GET', null);
    }

    PostRemoteData : 
function(url, callback, data) {
        
this.__receiveRemoteData(url, callback, 'POST', data);
    }
,    
    PostRemoteDataXML : 
function(url, callback, data) {
        
this.__receiveRemoteDataXML(url, callback, 'POST', data);
    }
,
    PostRemoteDataEx : 
function(url, data) {
        
return this.__receiveRemoteDataEx(url, 'POST', data);
    }
,               
    PostRemoteDataExXML : 
function(url, data) {
        
return this.__receiveRemoteDataExXML(url, 'POST', data);
    }
,        
    __receiveRemoteData : 
function(url, callback, httpmethod, data) {
        
var xmlhttp = this.__requestObject();
        
if (!xmlhttp) {
            
return null;
        }

        xmlhttp.open(httpmethod, url, 
true);
        
if (httpmethod == 'POST') {
            xmlhttp.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded")
        }

        xmlhttp.onreadystatechange 
= function() {
            
if (xmlhttp.readyState == 4 || xmlhttp.readyState == 'complete') {
                callback(xmlhttp.responseText);
            }

        }
;
        xmlhttp.send(data);
    }
,
    __receiveRemoteDataEx : 
function(url, httpmethod, data) {
        
var xmlhttp = this.__requestObject();
        
if (!xmlhttp) {
            
return null;
        }

        xmlhttp.open(httpmethod, url, 
false);
        
if (httpmethod == 'POST') {
            xmlhttp.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded")
        }

        xmlhttp.send(data);

        
if (xmlhttp.status == 200{
            
return xmlhttp.responseText;
        }

        
return '';
    }
,
    __receiveRemoteDataXML : 
function(url, callback, httpmethod, data) {
        
var xmlhttp = this.__requestObject();
        
if (!xmlhttp) {
            
return null;
        }

        xmlhttp.open(httpmethod, url, 
true);
        
if (httpmethod == 'POST') {
            xmlhttp.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded")
        }

        xmlhttp.onreadystatechange 
= function() {
            
if (xmlhttp.readyState == 4 || xmlhttp.readyState == 'complete') {
                callback(xmlhttp.responseXML);
            }

        }
;
        xmlhttp.send(data);
    }
,
    __receiveRemoteDataExXML : 
function(url, httpmethod, data) {
        
var xmlhttp = this.__requestObject();
        
if (!xmlhttp) {
            
return null;
        }

        xmlhttp.open(httpmethod, url, 
false);
        
if (httpmethod == 'POST') {
            xmlhttp.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded")
        }

        xmlhttp.send(data);

        
if (xmlhttp.status == 200{
            
return xmlhttp.responseXML;
        }

        
return '';
    }
,

    CancelAll : 
function() {
        
var extendPool = this.__extendPool;
        
this.__extendPool = function() {
            
return null;
        }

        
for (var i = 0; i < this.m_XmlHttpPool.length; ++i) {
            
this.m_XmlHttpPool[i].abort();
        }

        
this.__extendPool = extendPool;
    }

}
;
分享到:
评论

相关推荐

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part01

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part23

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part24

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part20

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part17

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part22

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part10

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part21

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part16

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part02

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part14

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part18

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part19

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part03

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part09

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part11

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part15

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part12

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part13

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

    圣殿祭司的ASP.NET 2.0开发详解 使用C# PDF Part06

    内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas Framework亦收录在本书之中,让您置身最顶尖的技术潮流。内容以专家级水平为基准点,透过精辟立论来...

Global site tag (gtag.js) - Google Analytics