日期:2014-05-17  浏览次数:20505 次

有个很奇怪的问题,IIS发布了webservices,如果提交的内容有特殊字符则直接404错误
iis6.0发布的webservices,如果提交的内容有特殊字符则页面直接错误,无法调用
但是在大部分情况下,调用webservices又不报错。

这是为什么?

安全限制?

------解决方案--------------------
如果又特殊字符的话,会破坏参数传递的正确格式,这个时候肯定是要报错的。
 data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。

我一般是像下面这样处理的
前台编码: var sName = escape($("#txt_JoinName").val());
后台解码: HttpContext.Current.Server.UrlDecode(sName);
------解决方案--------------------
webservice
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).