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

1 篇文章 0 订阅
1 篇文章 0 订阅

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

一:修改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"); 
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值