我想在一個cookie中保存一個python字典,然後能夠將cookie值轉換回在jQuery或JavaScript中的字典。我使用Python 3.3.1。我對格式(查詢字符串,JSON等)感到困惑。如何編碼一個python字典並在jquery中解碼? (通過cookie)
我使用這個jQuery的Cookie庫
https://github.com/carhartl/jquery-cookie
我曾嘗試以下:
服務器端:
import urlib.parse
d= {'key1':'value1','key2':'value2'}
cookie_data = urllib.parse.urlencode(d)
客戶端:
cookie_data = $.cookie('Cookie_Name');
var dict = $.parseJson(cookie_data);
這樣做的正確方法是什麼,所以我最終得到了客戶端的有效字典?
我也已經嘗試使用:
服務器端:
d = {'key1':'value1','key2':'value2'}
cookie_data = json.dumps(d)
它得到了我想要的JSON數據的字符串。
cookie_data現在是 '{ 「鍵1」: 「值1」, 「KEY2」: 「值2」}'
然而,當我把它作爲一個cookie字符串出來這樣
「\ 173 \「key2 \」:\「value2 \」\ 054 \「key1 \」:\「value1 \」\ 175「
這就是爲什麼我想我需要以某種方式編碼它。
我也曾嘗試:
var cookie_str = $.cookie('My_cookie');
var decoded_cookie = decodeURIComponent(cookie_str);
兩個cookie_str和decoded_cookie是相同的
\ 173 「KEY2」: 「值2」 \ 054 「KEY1」: 「VALUE1」 \ 175
客戶端我說更多的信息,以我的職務。我最初將dict轉換爲包含正確json的字符串。這是當我通過cookie發送它並獲得轉義字符等。我無法解碼它。所以我真的不確定我發送的是正確的方式,還是隻是不在客戶端使用適當的工具來解碼它。有什麼建議麼?謝謝 –
HTTP協議正在逃避響應中的特殊字符。你需要使用decodeURIComponent() –
我試過decodeURIComponent(),它根本不影響字符串。 –