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 @ 2011-12-20 22:31  chunchill  阅读(4207)  评论(0编辑  收藏  举报