加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax或url传值之乱码再见

发布时间:2020-12-16 01:43:24 所属栏目:百科 来源:网络整理
导读:在工作中遇到几次url乱码的问题,这次就做下整理: $.ajax({"contentType" : "application/json","url" :xxx/xxx/xxx.action?a=不要乱码b=不要再次乱码,"dataType" : "json","success" : function(data) {//bootbox.alert('取消成功!',function(){});hide("a

在工作中遇到几次url乱码的问题,这次就做下整理:

$.ajax({
		"contentType" : "application/json","url" :xxx/xxx/xxx.action?a=不要乱码&b=不要再次乱码,"dataType" : "json","success" : function(data) {
			//bootbox.alert('取消成功!',function(){});
			hide("alert_cancel_reason_div");
			location.reload();
		}
	});
后台通过 String a = this.getRequest().getParameter("a");

通过断点可以看到这个值变成了你看不懂的符号,就是乱码,怎么解决呢?

1.通过类似于加解码的方式

var url = encodeURI(encodeURI("xxx/xxx/xxx.action?a=不要乱码&b=不要再次乱码"))

2。后台通过一次解码的方式
String a= this.getRequest().getParameter("a");
a= java.net.URLDecoder.decode(a,"UTF-8");//一次解码 

这样就可以通过断点看到中文了


同时从后台往前台传也会出现乱码,我借鉴了下网上的资料,这里补充下:

后台:

 response.setContentType("text/xml;charset=UTF-8"); 
AJAX 在接收responseTextresponseXML的值的时候是按照UTF-8的格式来解码的,所以服务器要向客户端发送数据的时候,也要采用utf-8编码,response.setContentType("text/xml;charset=UTF-8").

如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存.总之,前后台数据交互都采用utf-8编码就行了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读