ie浏览器js不刷新和乱码问题

ie浏览器js不刷新和乱码问题最近维护了一个非常老的项目,遇到了很多坑爹的问题,记录一下一:修改js文件后不生效,js文件是通过src引入到jsp的修改js后刷新重新登录发现并未生效,clean了tomcat重启服务,删了浏览器缓存都不管用。在internet常规里删除并不管用,先修改缓存的配置,如下图,在常规设置里面,将检查存储的页面的较新版本改成每次访问网页时,确定即可,这样,每次刷新页面时就能加载最新的文件。然后再删除浏览记录安全-删除浏览记录这样就避免加载页面时加载的是修改前的文件。二:乱码问题,从前端页面传到后台

大家好,欢迎来到IT知识分享网。

最近维护了一个非常老的项目,遇到了很多坑爹的问题,记录一下

一:修改js文件后不生效

修改了js后不生效,js文件是通过src引入到jsp的
在这里插入图片描述修改js后刷新重新登录发现并未生效,clean了tomcat重启服务,删了浏览器缓存都不管用。
在这里插入图片描述在internet常规里删除并不管用,先修改浏览器缓存的配置,如下图,在常规设置里面,将检查存储的页面的较新版本改成每次访问网页时,确定即可,这样,每次刷新页面时就能加载最新的文件。然后再删除浏览记录
在这里插入图片描述

安全-删除浏览记录
在这里插入图片描述在这里插入图片描述这样就避免加载页面时加载的是修改前的文件。

二:乱码问题

从前端页面传到后台的中文字符出现乱码,前端页面是gbk,后台解码后不好使
前端通过jQuery的autocomplete发送请求,extraParams传递参数。
采用encodeURI前台编码后台再编码

注意要对中文使用encodeURI编码两次
extraParams:
{q:function(){

return encodeURI(encodeURI($(’#keyword’).val()))
}
}
这里同样也要解码两次
String key =URLDecoder.decode(URLDecoder.decode(q,“UTF-8”),“UTF-8”);

function showSubJqField(parentPageField,subPageField,parentDataDictField,subDataDictField,pathStr){ 
   
alert("getDataDict.go?"+parentPageField+","+subPageField+","+parentDataDictField+","+subDataDictField+","+pathStr);
	j$('#'+subPageField).unbind().autocomplete(pathStr+"getDataDict.go",{ 
   
		minChars : 0, 
		autoFill: false,
	    matchContains: true,
	    max:50,	
	    delay:10,
		scroll : true,
		scrollHeight : 220,	
		
		extraParams : { 
    
			field : function() { 
   
				return subDataDictField; 
			},
			parent_field:function(){ 
   
				return parentDataDictField; 				 
			},
			option_value : function() { 
   
				return j$("#"+subPageField).val(); 
			},
			parent_value:function(){ 
   
				//return j$("#"+parentPageField).val();//原来是这样直接传递到后台
				return encodeURI(encodeURI(j$("#"+parentPageField).val()));//修改后这样传,经过encodeURI两次编码
				//return "CN";
			}				
		},
		formatItem : function(data, i, total) { 
   
			return data[0]; 
		},
		formatMatch : function(data, i, total) { 
   
			return data[0]; 
		},
		formatResult : function(data) { 
   			
			return data[0]; 
		}	
		
	});	
						
}

后台解析:

		if(parent_value!=null&&parent_value.length()>0){ 
   
// parent_value = new String(parent_value.getBytes("GBK"),"UTF-8");
// parent_value=URLDecoder.decode(parent_value,"utf-8"); 
//原来是这样,将前台的中文由jbk转成utf-8,不好使,因为前台传过来就乱码了
//现在改成这样的,因为前端编码两次,后端也要进行两次解码。问题解决
			parent_value=URLDecoder.decode(URLDecoder.decode(parent_value,"UTF-8"),"UTF-8"); 
		}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21325.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信