C# 如何从MVC视图调用ASMXWebService?
以下是我尝试使用的WebService方法-:C# 如何从MVC视图调用ASMXWebService?,c#,ajax,asp.net-mvc,web-services,asp.net-mvc-4,C#,Ajax,Asp.net Mvc,Web Services,Asp.net Mvc 4,以下是我尝试使用的WebService方法-: [WebMethod] public string HelloWorld() { return "Hello World"; } 使用ajax调用调用此方法 $.ajax({ type: "POST", url: "/WebServices/WebService1.asmx/HelloWorld", data: "{}", contentType: "applicat
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
使用ajax调用调用此方法
$.ajax({
type: "POST",
url: "/WebServices/WebService1.asmx/HelloWorld",
data: "{}",
contentType: "application/json; charset=utf-8",
success: function (msg) {
var data = msg.d;
},
error: function (msg) {
alert(msg.responseText);
}
});
但是,每次我都会遇到找不到资源的错误,可能是因为我是从MVC视图调用它的,我还试图将整个localhost路径仍存在找不到资源的错误,有人能给我一个从MVC视图调用asmx webservice的小例子吗?尝试将这一行添加到您的RouteConfig中:
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
另外,在asmx web服务类中取消注释此行:
[System.Web.Script.Services.ScriptService]
您有一个很好的教程:尝试从视图调用操作方法,然后从控制器操作调用您的web方法无论它是来自MVC视图还是web表单页面,甚至是普通HTML页面。一旦它到达客户端,就只有HTML和JavaScript了。只需确保您在客户端的路径是正确的。确保在调用Web服务时,它实际上正在运行。在Visual Studio中,有一个选项“多个启动项目”,可通过解决方案(右键单击)->设置启动项目…->多个启动项目。设置操作=开始您的WebService项目+您的WebApplication项目。