也許大家厭煩了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