但是在大部分情况下,调用webservices又不报错。
这是为什么?
安全限制?
4 个解决方案
#1
未做判断吧 , 可能 直接给分割了~!
#2
字符 安全限制? 微软不会做这么坑爹的事 应该是你程序有问题
#3
如果又特殊字符的话,会破坏参数传递的正确格式,这个时候肯定是要报错的。
data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。
我一般是像下面这样处理的
前台编码: var sName = escape($("#txt_JoinName").val());
后台解码: HttpContext.Current.Server.UrlDecode(sName);
data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。
我一般是像下面这样处理的
前台编码: var sName = escape($("#txt_JoinName").val());
后台解码: HttpContext.Current.Server.UrlDecode(sName);
#4
webservice
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).
#1
未做判断吧 , 可能 直接给分割了~!
#2
字符 安全限制? 微软不会做这么坑爹的事 应该是你程序有问题
#3
如果又特殊字符的话,会破坏参数传递的正确格式,这个时候肯定是要报错的。
data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。
我一般是像下面这样处理的
前台编码: var sName = escape($("#txt_JoinName").val());
后台解码: HttpContext.Current.Server.UrlDecode(sName);
data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。
我一般是像下面这样处理的
前台编码: var sName = escape($("#txt_JoinName").val());
后台解码: HttpContext.Current.Server.UrlDecode(sName);
#4
webservice
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).