關於使用cookie儲存購物車資訊存在的問題
阿新 • • 發佈:2019-01-31
前面畢業設計有好幾天天天玩cookie,遇到了一些問題,上次系統維護,這回想起來就記錄一下;
首先吧,就是cookie的作用域問題,我們在把資訊加入cookie的時候別忘了加一個作用域path哦,不然的話,就要瀏覽器預設就是以你當前發請求的地址作為作用域了,在很多情況下都是無法獲取的;
其次就是我們儲存在cookie中的資料要經過編碼哦,因為cookie不能有特殊字元,比如=號等等;再一個就是我在發請求的時候,把我存在cookie中的資訊在後臺獲取的時候,出現了一個嚴肅的問題,就是我儲存的是物件陣列字串經過encodeURL編碼的,這時候在後臺獲取一直都是隻能獲取一部分,自習觀察,反覆琢磨,還是想到了特殊字元的問題;encodeURL主要是針對於我們的url地址進行編碼,這個方法不會將請求地址的某些字元進行編碼的,比如一個http://這個都是不會經過編碼的,所以我就使用了這個方法,導致我在後臺取值解碼的時候一直都獲取不完整。
解決辦法: 使用encodeURIComponent方法咯,看看單片語成也不難理解,就是將我們的這個字串完全編碼唄,這時候一測試,哈哈,成功了,最後針對這兩個方法的解碼方法也是一樣的咯。在前臺,一個使用decodeURI就可以了,另一個使用decodeURIComponent解碼就可以了,在後臺就使用 URLDecoder.decode()這個方法就好了,好啦,就說到這裡吧