异常: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)。

原文地址:https://www.cnblogs.com/wx-ym-good/p/7630394.html