C# 未知的web方法。参数名称:web服务中的methodName
我正在用c#在asp.net中使用web服务。在这方面,我正在从事一项任务,即在web服务中从AJAX调用该方法。但是,每当我在按钮点击事件中从AJAX调用该方法时,它都会显示错误,即500(内部服务器错误),当我在开发人员工具中进入网络时,它会显示我 未知的web方法和方法。参数名称:methodname 下面是ajax函数代码C# 未知的web方法。参数名称:web服务中的methodName,c#,asp.net,ajax,web-services,C#,Asp.net,Ajax,Web Services,我正在用c#在asp.net中使用web服务。在这方面,我正在从事一项任务,即在web服务中从AJAX调用该方法。但是,每当我在按钮点击事件中从AJAX调用该方法时,它都会显示错误,即500(内部服务器错误),当我在开发人员工具中进入网络时,它会显示我 未知的web方法和方法。参数名称:methodname 下面是ajax函数代码 $("#submit").click(function () { $.ajax({ type: "POST", url:
$("#submit").click(function () {
$.ajax({
type: "POST",
url: "OakscrollWebService.asmx/SendMail",
dataType: "json",
data: JSON.stringify({ name: $('#name').val(), email: $('#mail').val(), subject: $('#subject').val(), message: $('#message').val() }),
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.d);
},
failure: function (data) {
alert("something went wrong");
//console.log(msg);
}
});
});
这是cs代码
[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public static void SendMail(string name, string email, string subject, string message)
{
}
我注意到还有一件事,那就是当我运行该文件时,
asmx
文件中没有显示sendmail
方法。奇怪的是它为什么没有出现。在.asmx
文件中,如果您想跨多个页面使用它,您的方法不应该是静态的。因此,只需删除static
关键字,它就可以正常工作了:
[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public void SendMail(string name, string email, string subject, string message)
{
}
在处理错误之前,简单地发布到这个url发送电子邮件?用户不能在asmx文件中直接访问此文件,而且sendmail方法未显示是的,您完全正确。知道了。谢谢@S.Akbari