Ajax Post to Overloading c# web service方法
Posted
技术标签:
【中文标题】Ajax Post to Overloading c# web service方法【英文标题】:Ajax Post to Overloading c# web service method 【发布时间】:2017-03-24 06:13:17 【问题描述】:我在 C# 中有一个 webService,当我不重载它时它可以完美运行。 当我重载并使用 ajax 发布时,它会报错。
$.ajax(
type: "POST",
url: "http://localhost:6783/asd.asmx/add",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg)
console.log(msg);
,
error: function ()
alert("this error");
);
在 C# 中
[WebMethod(MessageName = "add2")]
public int add(int a,int b)
return a+b;
[WebMethod(MessageName = "add3")]
public int add(int a, int b, int c)
return a + b + c;
我添加了这个:
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
当我测试网络服务时,它可以工作。但是,当我使用 ajax 调用时,它不起作用。
【问题讨论】:
您遇到了什么错误? CORS? 未知网络方法添加。参数名称:methodName 说明:当前web请求执行过程中发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.ArgumentException:未知的 Web 方法添加。参数名称:methodName 源错误:在执行当前 Web 请求期间产生了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。 您正在调用addnumber
- 该方法不存在。至少在您提供的示例代码中没有
我改了添加。
【参考方案1】:
如果添加 MessageName 属性,则必须使用 MessageName 作为端点。
例如myservice.asmx/mymessagename
此页面http://www.c-sharpcorner.com/UploadFile/00a8b7/web-service/ 说:
“SumOfNums MessageName="SumOfFloats"”方法将被称为 客户端应用程序的“SumOfFloats”。
【讨论】:
澄清一下,你的意思是调用重载方法,而不是调用“localhost:6783/asd.asmx/add”,他们需要调用“localhost:6783/asd.asmx/add2”或“localhost:6783/asd.asmx/add3”,正确?如果是这样,您应该将该特定信息添加到您的答案中以上是关于Ajax Post to Overloading c# web service方法的主要内容,如果未能解决你的问题,请参考以下文章
Ajax Post Content Type : Application / Json Block the request
前端ajax用post方式提交json数据给后端时,网络报错 415
403 Forbidden while making ajax request to endpoint in Django