好的,我知道如何调用一个简单的旧式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