Page Samples / jssample2.aspx
[WebMethod]
[System.Web.Script.Services.ScriptMethod()]
public static string HelloPage()
{
return "g"; }
}
jQuery:
jQuery.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://myhost.com/Samples/jssample2.aspx/HelloPage",
data: "{}",
dataType: "json" });
看起来我的网络服务(asmx)已禁用(当我将其发布到服务器时) 但我可以在我的浏览器中访问Myhosting.com/jssample2.aspx/HelloPage(我看到默认的soap描述
在FIDDLER POST http://myhost.com/Samples/jssample2.aspx/HelloPage中找不到HTTP / 1.1 Fiddler响应HTTP / 1.1 404 jquery.ajax错误也返回404.也许我会在web.config中添加一些东西?或者我的网站pethods(属性)? IIS设置 .asmx D:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll 我的httpHandlers
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>
我只是创建简单的解决方案并将其发布到Web服务器一切正常。看起来问题在路径
答案 0 :(得分:1)
问题出现在web.config中。 我删除路由器设置添加到httpmodules部分
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>