c# – Javascript – 调用ASP.NET WebService – 服务器方法’me
发布时间:2020-12-15 17:17:56 所属栏目:百科 来源:网络整理
导读:我一直试图解决这个问题一段时间,但还没有成功. 我有一个基本的ASP.NET WebService,我试图从 javascript中调用它. using System;using System.Web;using System.Web.Services.Protocols;using System.Web.Services;using System.Web.Script.Services;namespa
我一直试图解决这个问题一段时间,但还没有成功.
我有一个基本的ASP.NET WebService,我试图从 javascript中调用它. 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"; } } } 简单……是吗?
我按如下方式调用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> 请协助. 解决方法
如果您不使用.NET 4,则需要执行配置条目以启用脚本服务.请参阅
http://msdn.microsoft.com/en-us/library/bb398998(v=VS.90).aspx.因此,请确保您在web.config中有以下部分.
<system.web> ... <httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory" validate="false"/> </httpHandlers> ... <system.web> 对于故障排除,您可以查看异常的堆栈跟踪 – 例如, function OnError(result) { alert("Error: " + result.get_message()); alert("Stack Trace: " + result.get_stackTrace()); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |