我有一个Web应用程序,我首先在Cookie中存储JSON数据,然后每x秒保存到数据库。它只是打开与服务器的连接,服务器读取Cookie。它并没有通过POST或GET发送任何东西。
当我保存到Cookie时,我的数据格式化得很好。但是,当我在PHP中处理它,然后设置一个新的json_encoded数组时,它会用+符号替换空格,然后这些符号会显示在我的Web应用程序中。我找不到任何禁用json_encode字符串编码的方法,也找不到解析这些加号符号的JS方法(使用jQuery.parseJSON;stringify的解析也不起作用)...有人有什么想法吗?:S
当我保存到Cookie时,我的数据格式化得很好。但是,当我在PHP中处理它,然后设置一个新的json_encoded数组时,它会用+符号替换空格,然后这些符号会显示在我的Web应用程序中。我找不到任何禁用json_encode字符串编码的方法,也找不到解析这些加号符号的JS方法(使用jQuery.parseJSON;stringify的解析也不起作用)...有人有什么想法吗?:S
json_encode(urldecode($array))
,我在最后重新设置cookie时使用了这个方法。但是在PHP读取cookie时解码没有任何效果。这让我觉得json_encode可能对其进行了某些处理? - Benno+
最初在哪里出现?当你从 cookie 中提取 JSON 时,你是否在客户端看到它?它是否首次出现在服务器上(在尝试将数据视为 JSON 之前)? - mu is too shortsetcookie('order',json_encode($newCookie),time()+18000, '/');
之后,+才会出现一次...我使用$.parseJSON(cookiecontents);
进行解析。如果我从JavaScript保存数据到cookie中,那么就没问题。如果我重新加载页面并再次解析cookie以填写订单表格,则没有+。但是当我通过PHP设置cookie,然后解析它时,它会添加加号。这与它作为响应头从服务器传递有关吗? - Benno