台灣最大程式設計社群網站
線上人數
1187
 
會員總數:246046
討論主題:189630
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 如何用ajax觸發server的事件
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何用ajax觸發server的事件
價值 : 10 QP  點閱數:2817 回應數:13
樓主

chunhsien
初學者
345 266
1852 578
發送站內信

有搜尋到ajax相關的package
但是我現在想試著直接在javascript去觸發某server的事件能嗎
書上的範例如下

假設我要觸發的是ajax.aspx.cs裡的一個func可能嗎
另外我想再把處理完的字串回傳行嗎,因為他的回傳是用XmlHttp.responseText
但是alert出來是整個網頁的source code,如果只是要把處理完的字串alert出來怎麼做
TKS

本篇文章發表於2006-12-25 13:02
1樓
回應

芒果
檢舉此回應
去參考 Ajax 經典範例集 這本書 或許會有你要的範例或ajax元件^^"
本篇文章回覆於2006-12-25 14:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
在ASP.NET 2.0中,使用CallBack技術可以做到
小喵的範例
http://www.blueshop.com.tw/download/show.asp?pgmcde=PGM20060428142758VXV

但是這樣的方式小喵覺得太麻煩
另外小喵有使用MagicAjax.NET的經驗也分享給您參考
http://blog.blueshop.com.tw/topcat/archive/2006/07/06/31989.aspx

^_^
本篇文章回覆於2006-12-25 15:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

chunhsien
檢舉此回應
您的網站我也有搜尋到,範例是使用magicajax,雖然我還沒裝
但我看範例是用到ajax的控制項,但是我現在想做的只是單純在javascript裡想呼叫某cs裡的func
不清楚ajax能否做到,還是說ajax只能傳到某個網頁處理而不能傳到某個函數處理
TKS
本篇文章回覆於2006-12-25 15:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

unicorn
捐贈 VP 給 unicorn 檢舉此回應
AjaxPage.aspx


本篇文章回覆於2006-12-25 16:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

unicorn
捐贈 VP 給 unicorn 檢舉此回應
AjaxPage.cs


本篇文章回覆於2006-12-25 16:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
補充一下
Client端透過xmlhttp啟動Server端的Aspx
並且帶個QueryString來識別是否要啟動哪個Function



Server端在PageLoad事件中
依照QueryString所帶來的資料來判斷要啟動哪個Function
Function中把結果Response.Write回去

然後Client承接的是Aspx傳回的內容(也就是Response.Write的內容)

^_^
本篇文章回覆於2006-12-25 16:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

chunhsien
檢舉此回應
請問unicorn:
您在AjaxPage.cs的寫法目的是達成可以呼叫不同func的目的嗎
是否也就變成我要透過判斷不同帶回的參數來執行不同func
但如果有都不帶參數的呢
另外xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
是否為當POST時可以傳參數,因為我不加這行用POST就讀不到傳的值
TKS
本篇文章回覆於2006-12-25 16:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
如果不帶參數
那有要如何判斷要執行哪個Function呢

是否請chunhsien大大說明一下您這樣的需求
是想達到怎麼樣的效果呢??
還是純粹的只是想了解Ajax的運作流程??

我想明確的了解您的需求,會對回答您問題時是否適用會有很大的幫助的
^_^
本篇文章回覆於2006-12-25 17:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

chunhsien
檢舉此回應
回應topcat大:
不帶參數就如同我一開始問的問題那樣
可能只是要呼叫server某func處理完的data回傳到javascript使用
這樣的情況就不會傳參數到server端阿
如果有很多這樣的情況要處理那要如何寫在pageload判斷
還是變成為了能區分一定要給他帶個變數好讓系統知道要執行那個func
本篇文章回覆於2006-12-25 17:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

unicorn
捐贈 VP 給 unicorn 檢舉此回應
你的問題我無法理解,或許應該說,我覺得程式碼己經說明了。

application/x-www-form-urlencoded 的部份想知道為什麼,你要查書,
因為我不知道,我只知道要加,呵, 你不會覺得我是加好玩的吧。
但如果我要猜的話,我會猜他是form 本身的編碼方式,他在模擬一個form在做 post
本篇文章回覆於2006-12-25 20:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
不錯的參考

topcat
捐贈 VP 給 topcat 檢舉此回應
#9
您原本的問題是
>>我要觸發的是ajax.aspx.cs裡的一個func可能嗎

首先觸發的應該是事件,而透過觸發的事件來呼叫裡面的func
func並不是被觸發的(這個觀念的問題您必須先釐清)==>你的觀念掉在這個胡同中....

ajax啟動Server端的aspx
能夠觸發的事件就是PageLoad

---
釐清觀念後
再來是從ajax的運作原理去了解
才能夠知道為何要呼叫.cs的function時
需要透過PageLoad事件中,判斷QueryString來指定Function

建議您看著#4#5unicorn大大的程式碼
配合著#6的說明
然後在您的心理面仔細的Run一次

^_^
本篇文章回覆於2006-12-26 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

chunhsien
檢舉此回應
感謝topcat
我想我明白了ajax能夠觸發的只有pageload事件
本篇文章回覆於2006-12-26 11:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
一個Page被呼叫,到送出
不只一個PageLoad事件唷

提醒您一下
^_^
本篇文章回覆於2006-12-26 12:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.