首頁 > web前端 > js教程 > 多種方式實作JS呼叫後台方法進行資料互動_javascript技巧

多種方式實作JS呼叫後台方法進行資料互動_javascript技巧

WBOY
發布: 2016-05-16 17:24:50
原創
1497 人瀏覽過

在專案開發過程中很多地方都需要前端和後台的資料交互,幾種典型常用的方法如利用控制項的AutopostBack屬性、Button提交表單等等。但這些都是有條件的,AutoPostBack具有即時性但會刷新頁面,Button提交表單不能實現資料互動的即時性。當然說到前台與後台的資料交互更不能漏掉ajax,ajax實現前台與後台資料的異步交互,並且保證即時的、局部刷新。但有些資料不需要非同步交互,例如當交互的資料是下一步執行的條件時,就必須要等到資料前台與後台資料交互完成後才能繼續執行程式。所以對於掌握js與後台資料互動的方法還是很有必要的。

方法一

後台方法:

複製代碼 代碼如下:

// 需要識別為WebMethod
[System.Web.Services.WebMethod]
// 請注意,要讓前台呼叫的方法,一定要是public和static的
public static string Say(string name)
{
string result = "Hello:" 名稱;
return result;
}

前台js:
複製程式碼



複製程式碼



複製程式碼



複製程式碼



複製程式碼

複製程式碼


複製程式碼 方法二


後台方法:




複製程式碼

複製程式碼


程式碼如下所示
protected string Say(string strCC) { strCC = "你好! " strCC; return strCC; }
前台; > 程式碼如下:


function Show()
{
var v = "中國";
var s = ''; // 你好!



方法三


後台方法: 代碼如下: 注意,要讓前台呼叫的方法,一定要是public和static的 public static string Say(string name) { string result = "Hello:" name; return result ; } 前台js: 複製代碼程式碼如下:

呼叫頁面後台方法,前面跟方法所需的參數,接著是方法回呼成功時要執行的js函數,最後一個是方法回呼失敗時要執行的js函數
WebSerCustomer.Say("you",function(ress){//ress就是後台方法傳回的數據,Say是webservice WebSerCustomer.axms頁面上的方法
alert(ress)
});
}


//WebSerCustomer.asmx後台webservice類別的頁名




總結
對於方法一和方法三來說,標識System.web.Services.webmethod可以聲明一個方法可以透過客戶端js函數來調用,並且後台方法必須聲明為public和static,正是由於要將方法聲明為static,使得這兩種方法都有局限性,即靜態方法中只允許訪問靜態成員變量。所以要想用這兩種方式呼叫後台方法,後台方法中是不能存取非靜態成員變數的。

對於方法二來說,雖然後台方法沒有任何限制,但是前台調用的時候由於是只讀的,前台向後台傳的參數實際上是不存在的,即從後台中拿不到。所以方法二適合呼叫後台方法經過處理並傳回給客戶端使用,不適合將資料傳到後台供後台使用。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板