異常:java.lang.IllegalArgumentException: Control character in cookie value or attribute.

後臺提示:java

嚴重: 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)...apache

————————————————————————————————————————————————————\tomcat

項目簡述:在js中操做cookie時出現的異常(Jquery中依然能用)服務器

基本代碼以下:(已修改)cookie

 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;//標記
                        
                        

異常分析:ide

1.cookie值有問題post

2.cookie中編碼有問題,通常都是中文那裏編碼

修改:在js中調用escape(「中文」),進行編碼,spa

在讀取cookie時,用unescape(document.cookie);進行解碼設計

補充:

有的是在服務器端代碼遇到的問題,請到服務器端去修改編碼(服務器端不用escape)。

相關文章
相關標籤/搜索