首先,確保你已經標記了類[ScriptService]
,以允許它通過AJAX調用。喜歡的東西:
[ScriptService] //<-- Important
public class WebService : System.Web.Services.WebService
{
[ScriptMethod] //<-- WebMethod is fine here too
public string[] MyMethod()
{
return new[] {"fdsf", "gfdgdfgf"};
}
}
然後,您可以用jQuery directly讀取結果,因爲沒有必要解析什麼:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "WebService.asmx/MyMethod",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// msg.d will be your array with 2 strings
}
});
});
另一種方法是隻包括一個參考:
<script src="WebService.asmx/js" type="text/javascript"></script>
這將生成代理類以允許您直接調用Web方法。例如:
WebService.MyMethod(onComplete, onError);
的onComplete
功能將收到與Web服務調用的結果一個參數,你的情況是JavaScript array 2串。在我看來,這比使用jQuery和擔心URL和HTTP負載更容易。
如何使用WebMethod解析信息? – 2012-07-13 21:39:51
@Grienders - 你在SOAP還是JSON中的迴應? '[WebMethod]'支持兩者。 – 2012-07-13 21:51:08