DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> 構建pool管理無刷新頁面的xmlhttp對象
構建pool管理無刷新頁面的xmlhttp對象
編輯:AJAX基礎知識     
在頁面上使用ActiveXObject的代價是很大的,如果我們的無刷新頁面使用xmlhttp技術,我們或許需要頻繁的建立xmlhttp對象,當然我們也可以使用全局變量來cache一個xmlhttp對象實例。但是這樣的方法適合於同步方式xmlhttp通信,而對於異步方式xmlhttp通信將會出現問題。由於沒有了進程的堵塞,用戶可能再次調用同一個xmlhttp實例,如果這時前一個通信未完成,那麼就失敗了。

    建立一個pool來管理頁面上的xmlhttp對象實例,最明顯的好處就是不會再創建冗余對象,同時也不會出現多個操作在同一個工作的xmlhttp實例上被調用的情況。

    具體實現,我們使用一個Array作為pool來存儲已創建的xmlhttp對象實例,然後每次調用從pool中去取一個實例。xmlhttp實例通訊完畢後我們不用做任何處置,因為它自身的readyState屬性可以標識出它是否可用,如果當時沒有空閒的xmlhttp實例,且pool中的實例數小於m_MaxPoolLength,那麼就創建一個新的實例並放入pool中。pool的實現代碼如下: __XmlHttpPool__源碼#region __XmlHttpPool__源碼
var __XmlHttpPool__ =
{
    m_MaxPoolLength : 10,
    m_XmlHttpPool : [],
    
    __requestObject : function()
    {
        var xmlhttp = null;
     &nb

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved