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 在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,所以服务器要向客户端发送数据的时候,也要采用utf-8编码,response.setContentType("text/xml;charset=UTF-8"). 如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存.总之,前后台数据交互都采用utf-8编码就行了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |