JavaScript系列自己造的ajax輪子xcallback.2隻有6kb

來源:互聯網
上載者:User

     也許大家厭煩了ajaxpro伺服器端和用戶端的配置,也對ms .net  ajax 龐大、低效且不易變通笨拙風格而感到不滿,所以很多人沉迷在了jq的世界裡,也包括我,ajax架構出現了這麼多了,從網上看jq似乎成了ajax的終結者,但是本人感覺jq還是有很多不方便的地方,所以打算自己做一個, 不知道這樣一款ajax架構能不能打動你, 先看一個基本例子,下面是個完整的ajax調用過程,比起jq是不是更簡潔些

function test(v){
ajax.reg('x='+v);
return;
alert(ajax.x);
}

return 之前的是調用前執行的語句,return 之後是伺服器返回資料後要執行的語句,其中ajax.x是伺服器返回的值.這是個純js檔案,不需要在伺服器端作任何配置,而且它相比其他ajax架構有幾個明顯優點:

1、內建了載入時圖層顯示效果,你可以對載入的圖層的顯示位置做全站層級的自訂,可選項有(topleft,topright,center,bottomleft,bottomright),預設是,topright

2、可以在一些特定方法裡設定是否顯示圖層,例如下面代碼在調用時不顯示載入圖層效果:

function test(v){
ajax.visible=false;
ajax.reg('x='+v);
return;
alert(ajax.x);
}

3、內建了很完善的ajax例外處理常式,例如,如果伺服器端發現異常,則會彈出一個div,顯示異常資訊,並在幾秒之後跳往專門的錯誤頁面,預設情況下,出現異常時會彈出一個顯示'出現異常'的div ,並在3秒後跳往baidu.com ,你可以全站層級的配置出現異常時跳往的頁面,以及間隔的時間,甚至彈出的div提示效果及資訊也可以自己指定

4、背景支援,如果你需要在後台葉面的page_load 裡判斷當前的請求類型,只需要加上這一句就行了Request.Form["isxcallback"]!=null  ,則說明了此時的請求來自於xcallback.2的ajax,

5、動態載入伺服器端控制項的支援,比起jq 的load('demo.html') ,具有更大的靈活性,具體C#方法如下:

如果要動態載入一個<asp:panel ID="myPanel">

則只需:GeneralHtml(myPanel) 

 public string GeneralHtml(System.Web.UI.Control serverControl)
        {
            System.Text.StringBuilder builder = new System.Text.StringBuilder();
            System.IO.StringWriter writer = new System.IO.StringWriter(builder);
            System.Web.UI.HtmlTextWriter HtmlWriter = new System.Web.UI.HtmlTextWriter(writer);
            serverControl.RenderControl(HtmlWriter);
            return builder.ToString();
        }

線上示範地址:http://job.hrbust.edu.cn/fb/xcallback/ 

示範:http://files.cnblogs.com/chenxumi/xcallback.rar 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.