初識 Ajax

來源:互聯網
上載者:User

前段時間一直煩惱於無法利用JS調用背景方法,現在終於學會點方法,覺得應該寫下來與別人一起分享下,希望能夠協助一些和我一樣的小鳥。

1.如果是調用背景帶傳回值的無參數方法,那麼<%=方法()%>無疑是最為簡單的一  種方法。舉個例子,比如你後台方法為public string s(){return "我很棒";}這樣只要在前台這樣寫<script type="text/javascript">var a= <%=s()%>;alert(a);
</script>,這樣你彈出的框中就會顯示處“我很棒”。當然你也可以不用彈框,總之這樣就可以調用到背景方法,但是前提是它必須是有傳回值的。也許你會說我要是想在前台給方法賦參數呢?那這種方法就不行,因為前台調用的方法在伺服器載入的時候總是先啟動並執行,所以沒有等你的參數過去它就已經運行了。但是如果你的參數只是簡單的字串,那是可以的,舉個例子:var id="中國";var a='<%=s("'+id+'")%>';alert(a);,背景方法是:public string s(string x){return x+"很棒";},這樣彈出框就會顯示“中國很棒”。注意JS中雙引號和單引號是沒有區別的,其實"'+id+'"只是串字串,沒有任何意思。a獲得後台方法的傳回值,a="'+id+'"+"很棒"。相信大家因該明白了,前台是無法傳遞變數到背景,只不過利用了連接字串的形式將字串當做參數,這樣後台方法傳回值後,id這個變數才被用上了。
2.這種方法是我覺得最好的一種調用背景方法,網上也有很多地方說到,就是aJaxpro.使用這種方法
第一步:下載aJaxpro.dll檔案,這個官網下就可以了,網址http://www.ajaxpro.info/;
第二步:就是添加引用,在你的項目中添加ajaxpro.dll的引用,這不用多說了吧;
第三步:在web.config添加節點

<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandler>
第四步:在Page_Load()事件中添加註冊。
AjaxPro.Utility.RegisterTypeForAjax(typeof(類名)),然後記得在你想調用的方法頭前加上
[AjaxPro.AjaxMethod],就比如
[AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
return DateTime.Now;
}
第五步:最後就可以在JS中調用後台方法咯,記得調用方法格式:
命名空間.類名.方法(callback);舉個例子吧,如果我這個類的命名空間是mYspace,類為Name,方法為delete(),
則應該這樣調用mYspace.Name.delete(callback).callback;function callback(res){alert(res.value);}是你調用完方法後對結果的處理,res就是方法的傳回值。你可以不要寫callback,那就寫成
mYspace.Name.delete()。當然如果你的方法帶參數你就在括弧裡加參數。網上說還有另一種叫ajax.dll,如果你用的是這種,在web.config中添加節點有點不同,就是把type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"改成
type="AjaxPro.AjaxHandlerFactory, Ajax"。還有就是調用的時候不用加空間名字,直接類名.方法()。

花了半個小時寫好了,希望我的文章能夠協助別人,因為我也是經常看別人的文章擷取知識,這和現在的開源很類似,大家把自己知道的東西都拿出來互相學習嘛!


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.