我已经通过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请求对象的服务器端,我可以获得“test”cookie而不是“item”cookie。当我从“item”cookien中删除JSON值并只添加一个虚拟字符串值时,我可以在请求中获得“item”cookie。这意味着HttpServletRequest无法接收JSON值cookie存在问题。
是否有任何解决方案可以在HttpServletRequest对象中接收cookie(包含JSON格式的值)。
答案 0 :(得分:0)
我认为问题不在您的服务器端!如果您可以从HttpServletRequest
对象中正确地检索cookie,那么您的服务器代码就可以了。
问题应该是您的JavaScript调用在请求提交之前未返回有效输出。如果您的JS可以访问您的文档上的JSON.stringify()
对象的函数,那么在您的HTTP请求通过网络发送之前,您的浏览器中不会收集/不提供itemsJSON var,因此不会创建cookie并且附在您的请求上。
我会在您首选的浏览器中使用JS调试器。 Chrome开发工具或Mozilla Web开发人员插件应该有助于在send
之前检查您的var的值。