之前我从未注意到这种行为,但是当解析保存在cookie中的JSON编码的字符串时,字符串似乎是url编码的(主要是症状是空格被加号“+”符号替换)。
基本上它是一个flash消息数组(如在Rails中,我不确定问题是否在编码方面)使用以下编码:
def write_flash_to_cookie
cookie_flash = {}
flash.each do |key, value|
if cookie_flash[key.to_s].nil? or cookie_flash[key.to_s].blank?
cookie_flash[key.to_s]= [value]
else
cookie_flash[key.to_s]<< value
end
end
cookies['flash']= cookie_flash.to_json
flash.clear
end
并显示如下:
if($.cookie('flash')) {
var flash= $.parseJSON($.cookie('flash'));
for(type in flash) {
for(message in flash[type]) {
$('#flash').append("<div class=\"" + type + "\">" + flash[type][message] + "</div>");
}
}
}
我看不到我在这里缺少的东西......
答案 0 :(得分:0)
在字符串的末尾尝试.html_safe。我相信这对过去这个问题有帮助。