好的,我知道如何調用一個簡單的舊式asmx webservice webthod,它返回一個單一的值作爲函數返回結果。但是如果我想返回多個輸出參數呢?我目前的做法是將這些參數分開,並將其分解到客戶端。有沒有更好的辦法。Javascript調用Ajax WebMethod。如何獲得多個輸出參數返回?
下面是我如何返回單個函數結果。如何返回多個輸出值?
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="WebService.asmx" />
</Services>
function CallHelloWebMethod() {
WebService.Hello(txtMyName.value, OnComplete1, OnTimeOut, OnError);
}
function OnComplete1(arg) {
alert(arg);
}
function OnTimeOut(arg) {
}
function OnError(arg) {
}
<WebMethod()> Public Function Hello(ByVal MyName As String) As String
Return "Hello " & MyName
End Function
到目前爲止,我通過用「|」分隔它們來返回多個值。 char並使用Java分割函數將其解析出來。你似乎在建議一種我不熟悉的解決方法。你能指點我一個例子嗎? – ChadD 2010-04-27 04:24:53
它被稱爲JSON,它被廣泛使用(並且根本不被視爲「uppity」)。我猜想它比XML(AJAX中的「X」)更爲廣泛,因爲人類閱讀和客戶端代碼更容易解析。 基本上,它使用JavaScript對象文字符號作爲序列化。出於這個原因,它非常適合客戶端JavaScript。 帶有示例的高級概述:http://en.wikipedia.org/wiki/JSON – jhurshman 2010-04-27 14:05:53