我一直在嘗試解決這個問題一段時間,但尚未成功。 我有一個基本的ASP.NET WebService,我試圖從JavaScript調用。Javascript - 調用ASP.NET WebService - 服務器方法'methodName'失敗
using System;
using System.Web;
using System.Web.Services.Protocols;
using System.Web.Services;
using System.Web.Script.Services;
namespace RandomWebServices
{
/// <summary>
/// Summary description for WebServices1
/// </summary>
[WebService(Namespace = "http://localhost:2900/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebServices1 : WebService
{
[WebMethod]
public string PieTable(string table)
{
return table + " - resultant text";
}
}
}
簡單...是嗎? 那爲什麼,當我嘗試從JavaScript調用它,我得到以下幾點:
"Error: The server method 'PieTable' failed."
我打電話的WebService如下:
<script type="text/javascript">
function CallService() {
RandomWebServices.WebServices1.set_defaultSucceededCallback(Callback);
RandomWebServices.WebServices1.set_defaultFailedCallback(OnError);
RandomWebServices.WebServices1.PieTable("Pie");
return false;
}
function Callback(result) {
alert("asd");
var outDiv = document.getElementById("outputDiv");
if (outDiv == null) {
alert("outputDiv not found");
return false;
}
else {
alert("outputDiv found");
outDiv.innerText = result;
}
return false;
}
function OnError(result) {
alert("Error: " + result.get_message());
}
</script>
我打電話從以下對象的JavaScript:
<input value="Load" onclick="CallService(); return false;" type="button" />
我使用AJAX的ToolkitScriptManager對象引用的WebService:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="http://localhost:2900/WebServices1.asmx" />
</Services>
</asp:ToolkitScriptManager>
請協助。 在此先感謝。 Marco