为了账号安全,请及时绑定邮箱和手机立即绑定

为什么java和javascript中无法获取cookie除name和value以外的数据?

为什么java和javascript中无法获取cookie除name和value以外的数据?

饮歌长啸 2019-03-13 17:15:29
无论是在js中使用document.cookie,还是在servlet中使用cookie,为什么只能获取name和value的值,其他的值获取不到?js代码如下:console.log(document.cookie);var date = new Date();date.setSeconds(date.getMinutes() + 30);document.cookie = "falcult=software; expires=" + date.toGMTString() + ";path=/; " + document.cookie;java代码如下:protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        Cookie[] cookies = request.getCookies();        if(cookies != null){            for (Cookie cookie : cookies) {                System.out.print(cookie.getName() + ",");                System.out.print(cookie.getValue() + ", ");                System.out.print(cookie.getPath() + ", ");                System.out.print(cookie.getDomain() + ", ");                System.out.print(cookie.getMaxAge() + ", ");                System.out.println();            }        }        Cookie cookie1 = new Cookie("name", "DX");        cookie1.setMaxAge(1000*60);        cookie1.setPath("/");        Cookie cookie2 = new Cookie("age", "20");        response.addCookie(cookie1);        response.addCookie(cookie2);        request.getRequestDispatcher("test.html").forward(request, response);    }js输出结果:school=cqupt; age=20; name=DXjava输出结果:age,20, null, null, -1, school,cqupt, null, null, -1, name,DX, null, null, -1, 
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

server端只能获取到name和value不难解释,因为发请求的时候,cookie就只有name和value传递过去了。你可以看看请求的数据。
js也只能得到这两个值应该是浏览器只给js传递这两个值或什么标准要求只能传递这两个值吧,cookie存储在本地是以未见的形式,我查看了Cookie文件,并不是文本文件,是二进制文件,js是无法读取的。

查看完整回答
反对 回复 2019-04-24
?
holdtom

TA贡献1805条经验 获得超10个赞

ArrayBuffer 可以读二进制内容


查看完整回答
反对 回复 2019-04-24
  • 2 回答
  • 0 关注
  • 602 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号