Javascript 无法接收HttpServletRequest中包含JSON格式值的Cookie
我通过Javascript添加了两个cookieJavascript 无法接收HttpServletRequest中包含JSON格式值的Cookie,javascript,java,json,servlets,Javascript,Java,Json,Servlets,我通过Javascript添加了两个cookie 试验 document.cookie = "test=testCookie; expires=Fri, 16 Oct 2015 22:24:05 GMT; path=/"; 实际数据 document.cookie = "item="+JSON.stringify(itemsJSON)+"; expires=Fri, 16 Oct 2015 22:24:05 GMT; path=/"; 在HttpServletRequest请求对象的服务
document.cookie = "test=testCookie; expires=Fri, 16 Oct 2015 22:24:05 GMT; path=/";
document.cookie = "item="+JSON.stringify(itemsJSON)+"; expires=Fri, 16 Oct 2015 22:24:05 GMT; path=/";
是否有任何解决方案可以在HttpServletRequest对象中接收Cookie(包含JSON格式的值)。我认为问题不在服务器端!如果您可以从
HttpServletRequest
对象按名称正确检索cookie,那么您的服务器代码就可以了
问题应该是JavaScript调用在请求提交之前没有返回有效的输出。如果您的JS可以访问文档中对象的函数JSON.stringify()
,那么在HTTP请求通过网络发送之前,您的浏览器中不会收集/不可用itemsJSON变量,因此,不会创建cookie并将其附加到您的请求中
我会在您首选的浏览器中使用JS调试器。Chrome dev工具或Mozilla Web Developer插件应该有助于在
send
之前检查var的值,我建议将json转换为Base64,然后在服务器端对其进行解码。我已经完成了调试。一切正常。浏览器也显示cookies。在浏览器cookies中,有一个带有JSON值的项目cookie,但我无法在服务器端获取该cookies。您的项目和cookies的大小如何?所有cookie的大小不应超过4093字节。这意味着您可以有一个4093字节的cookie,或两个2045字节的cookie。。。