这两天,部门其中的一个重头开发分支,CRM上线了。其中用到了Jquery 通过 Ajax 调用 webService。测试的时候报了一个莫名其妙的404错误。经过分析后,404是因为web.config配置的报错页面 Error.aspx 本身就不存在,所以这个错误,使得查找真正原因的时候有一定的迷惑性,说到底还是经验欠缺的表现。
排除这个错误后,真正的错误原因是报了 500 错误,本地是正确的;直接进服务器测试,也是正确的;开浏览器远程调用,就报错。这样就很明显了,Google关键字:Jquery 远程调用 webService报错,解决方案一大堆,而且都很简单,也都是管用的,这里记录一下吧:
原来web.config里面默认Post设置是不允许远程调用webservice,改变一下配置就可以了。
如果想在远程可以正常调用,需要修改web.config,在system.web节下面加上下面一段话即可。
<webServices > <protocols > <add name="HttpSoap"/> <add name="HttpPost"/> <add name="HttpGet"/> <add name="Documentation"/> </protocols> </webServices>