Jquery Ajax调用asmx出错问题

1、//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
     
[System.Web.Script.Services.ScriptService]

 

     这个错误已经明显提示了,犯错几率不大。

 

2、在web.config的<system.web></system.web>中间加入如下配置节内容

 

<webServices>
         
<protocols>
            <add 
name="HttpSoap"/>
            <add 
name="HttpPost"/>
            <add 
name="HttpGet"/>
            <add 
name="Documentation"/>
         
</protocols>
</webServices>

 

 

 

我试了,第二种方法仍无效,于是继续探讨,找到一篇JQuery Ajax调用.net 
WebService的例子,于是下载试了试,人家的代码管用,对比了一下,一样的代码为何我的无效?想法排查那的问题:

 

把他的web.config删掉后,不管用了,显然问题仍然在web.config中,找到认为可能影响的代码,一句一句排除,最终找到:

 

在<system.web>下的<httpHandlers>中有句:

 

<add verb="*" path="*.asmx" 
validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, 
System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
PublicKeyToken=31BF3856AD364E35"/>

 

 

 

有此句则有效,去掉则无效,极度兴奋,把这句粘到我的web.confg中,问题解决。只是用了两个小时时间!

posted @ 2016-03-28 17:27  天王星天  阅读(423)  评论(0编辑  收藏  举报