在JQUERY ajax开发中遇到了下面的一个问题,在执行ajax请求的时候,需要传递一个“50%”的参数,而这个参数中含有特殊字符%。这样的话就会出现问题了,我们知道服务器在发送请求的时候,会将url中的参数转化成类似于“%2C%2F%3F%3A%40%26%3D%2B%24%23”,所以在我们执行含有这样特殊字符的ajax请求的时候就会出现错误,因为我们传递的参数可能发生了变化,也可能由于参数本身中就含有特殊字符所以系统没有办法编译它。
	可能会抛出这样的一个异常:
	警告: Parameters: Character decoding failed. Parameter skipped.
	解决的办法:
	1、改变传递参数的形式:
	例如:
					var testUrl ="param1="+cond1+"¶ms2="+cond2 ; $.ajax({ type:"POST", url:"testUrl", data:allParams, success:function(data){ } });  | 
			
	在上面这段代码中
	如果cond2 = “50%”,那么这个参数中就有了%特殊字符,这样执行的话可定时会有问题。怎么修改呢?
	我们说过了改变传递参数的形式
	修改data部分,以json格式的数据传递,这样就可以避免由于特殊字符引起的错误参数问题:
					
data:{‘param1’:cond1,’param2’:cond2}
				 | 
			
	2、还是按照例子1中的传递方式传递参数,只不过为了达到我们的目的,我们对要传递的参数进行编码。
	例如,如果还是例子1,我们把testUrl修改成下面这种写法,使用encodeURIComponent(urlString)函数对url中传递的参数做编码操作就可以了:
					var testUrl ="param1="+cond1+"¶ms2="+encodeURIComponent(cond2);  | 
			
The End


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)