使用Javascript - 调用WebService的ASP.NET - 服务器实现方法“methodName'失败 [英] Javascript - calling ASP.NET WebService - The server method 'methodName' failed
问题描述
我一直在试图解决这个问题了一会儿,都没有成功呢。
我有哪些我想从JavaScript作为这种所谓的基本ASP.NET的WebService。
I've been trying to resolve this issue for a while and haven't been successful yet. I've got a basic ASP.NET WebService which I'm trying to call from javascript as such.
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我得到以下调用它:
Simple... Yes? Then why is it that when I try calling it from javascript I get the following:
错误:服务器方法'PieTable'失败了。
"Error: The server method 'PieTable' failed."
我所说的WebService的如下:
I call the WebService as follows:
<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:
I am calling the javascript from the following object:
<input value="Load" onclick="CallService(); return false;" type="button" />
我使用AJAX的ToolkitScriptManager对象引用WebService的:
I use AJAX's ToolkitScriptManager object to reference the WebService:
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="http://localhost:2900/WebServices1.asmx" />
</Services>
</asp:ToolkitScriptManager>
请协助。
提前致谢。
马尔科
Please assist. Thanks in advance. Marco
推荐答案
尝试在PieTable方法应用[ScriptMethod]属性,调用使用jQuery webMethods的时候,这通常可以解决我的问题。
Try applying [ScriptMethod] attribute on the PieTable method, this usually solves my problems when calling webmethods with JQuery.
的http://msdn.microsoft.com/en-us/library/system.web.script.services.scriptmethodattribute.aspx
[WebMethod]
[ScriptMethod]
public string PieTable(string table)
{
return table + " - resultant text";
}
这篇关于使用Javascript - 调用WebService的ASP.NET - 服务器实现方法“methodName'失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!