异常:java.lang.IllegalArgumentException: Control character in cookie value or attribute.
后台提示:
严重: Error processing request
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
at org.apache.tomcat.util.http.CookieSupport.isV0Separator(CookieSupport.java:165)
at org.apache.tomcat.util.http.Cookies.processCookieHeader(Cookies.java:349)
at org.apache.tomcat.util.http.Cookies.processCookies(Cookies.java:176)
at org.apache.tomcat.util.http.Cookies.getCookieCount(Cookies.java:106)...
————————————————————————————————————————————————————\
项目简述:在js中操作cookie时出现的异常(Jquery中依然能用)
基本代码如下:(已修改)
if("Administrator"==result.data.username){//管理员设计 document.cookie="username="+escape('系统管理员'); // $.cookie('username','系统管理员'); }else{//普通员工设计 document.cookie="username="+escape(result.data.username); document.cookie="postId="+result.data.postId;//职务Id document.cookie="induction_time="+result.data.induction_time;//入职时间 document.cookie="monthlyleave="+result.data.monthlyleave;//当月假期 } document.cookie="userId="+result.data.id;// document.cookie="identification="+result.data.identification;//标记
异常分析:
1.cookie值有问题
2.cookie中编码有问题,一般都是中文那里
修改:在js中调用escape(“中文”),进行编码,
在读取cookie时,用unescape(document.cookie);进行解码
补充:
有的是在服务器端代码遇到的问题,请到服务器端去修改编码(服务器端不用escape)。