人们,我正试图从MVC视图中调用asmx服务。
asmx中的代码如下:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[ScriptService]
public class MyService : WebService
{
[WebMethod]
public string SomeMethod()
{
return "hello world";
}
}
mvc视图中的ajax调用是:
$(document).ready(function () {
$.ajax({
type: "GET",
url: "MyService.asmx/SomeMethod",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert('success');
},
error: function (e) {
alert('error: ' + e.msg);
}
});
});
但我总是得到一个'未定义'的错误。启用fiddler后,我发现无法找到Web服务(无法找到资源)。
任何帮助表示赞赏
编辑:
好的,我搞定了。我需要在RouteConfig中添加以下行:
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });