首先遇到的第一个坑就是发现cookie删不掉。 当然,这里说明一下,并不是js或者浏览器本身的机制不允许删除cookie,只是我删除的方式不对。

一开始我只是简单的将cookie设置为空,将expires设置为-1。心里想着,已过期,cookie自动清除,美滋滋,然而事实并没有按照我想的发生。downloading还是躺在cookie里面没有任何变化,是因为没有刷新吗?于是我在后面再次获取了一下:

console.log(document.cookie); 发现cookie里面确实还是有downloading这个字段。

没办法,打开application看看,果然发现了问题,后端传递过来的这个cookie没有设置expires,但是却默认设置了path,再联想我之前删除的cookie是没有带任何参数的,结合cookie的机制,发现了问题所在。

解决办法:

在删除cookie的时候要加上这个字段所带的参数,可能是出于安全的考虑,不同的参数,即使名字相同,也会当成两个cookie存储,所以我删除的并不是后端传过来的cookie,自然就删除不了。

第二个坑,后端设置cookie默认的path属性没有规律。 出于代码复用和性能考虑,后端的很多功能都会集成到一个API,再加上前端可能会用到一些第三方的框架,这些框架所采用过的设计模式都各不相同,都会造成一些不可预测的结果,而项目有可能在任何地方都会有下载的需求,所以当我发现如何删除cookie的时候,我又发现了一个坑,那就是不知道该如何准确获取cookie的path属性。而且如果你请求的接口默认path与你所在的url不匹配的话,浏览器将会忽略这次的cookie设置,在我的项目的直接体现就是,后端响应了cookie,但是我前端接收不到,页面loading无法消失,卡死了。

解决办法:

根据cookie的机制,当cookie的path属性为'/'的时候,cookie就不会被忽略。

所以解决办法就是让后端在set-cookie的时候讲path设置成固定的'/',以java为例:

Cookie cookie = new Cookie("Downloading","true"); cookie.setPath("/"); response.addCookie(cookie);

java清除不掉cookie,java清除cookie相关推荐

  1. java清除不掉cookie,java操作cookie示例(删除cookie)

    1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 设置6 ...

  2. Web页面或app等前端页面之Java Web的JSP、Servlet、Cookie、Session等技术小结

    Java Web学习,掌握JSP.Servlet.Cookie.Session等内容,使用JSTL进行数据展示完成实际应用. 2.3.1 XML基础 XML的用途.语法规则.语义约束.如何解析XML, ...

  3. cookie java 写入_JAVA中如何读写COOKIE

    Java中删除cookie Cookie[] cookies=request.getCookies();//cookies不为空,则清除 if(cookies!=null) { String valu ...

  4. Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie

    1. 引入所需网络请求类: var URL = plus.android.importClass("java.net.URL");var URLConnection = plus. ...

  5. Java创建cookie和删除cookie

    Java创建cookie和删除cookie //写cookie操作         Cookie cooki;         cooki=new Cookie("bbs_0001" ...

  6. 微信WebView关闭后本地cookie无法清除问题

    问题背景 在微信WebView下的页面中登录后,关闭WebView返回后再次进入页面,发现登录态还存在,原因是微信不会主动清除cookie以及其他的缓存. 期望是关闭窗口后会清除cookie,重新进入 ...

  7. java删除一级域名下cookie_java操作cookie示例(删除cookie)

    1.设置Cookie 代码如下: Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60 ...

  8. 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)

    标记-清除算法 标记-清除算法(mark-sweep 1 标记-清除算法 回收过程描述 类别 描述 mutator 设置 collector 收集 mutator roots mutator根对象 1 ...

  9. java ee会话_Java EE会话技术Cookie和Session

    会话技术 一.定义 会话技术是帮助服务器记住客户端状态的(区分客户端的).将客户访问的信息存在本地的叫Cookie技术,存在服务器上的叫Session技术. 注意: 一次会话何时开始?从打开一个浏览器 ...

  10. java cookie包_Java cookie的使用

    转自:http://www.blogjava.net/tscfengkui/archive/2011/01/21/343341.html 很感谢,让小白明白其中道理 Java cookie的使用 1. ...

最新文章

  1. android 教程 最新版,Android最新版本开发环境搭建图文教程
  2. mfc将文件内容引入编辑框_南开大学黄津辉教授团队联合加拿大麦克马斯特大学Ravi教授团队发表微型MFC水质传感器实际废水检测适用性的研究...
  3. 1103 Integer Factorization (30 分)【难度: 中 / 爆搜】
  4. 海康/大华 IpCamera RTSP地址和格式
  5. java的成员方法_java编程中的成员方法是什么?
  6. java切入式编程显示屏_C语言嵌入式系统编程修炼之四:屏幕操作
  7. android so abi适配,Android NDK学习(六): so文件兼容之abiFilters的使用
  8. pheatmap, gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot
  9. 聚焦数智技术助力乡村振兴 京东云为乡村振兴注入“数智”力量
  10. 面试题:左旋转字符串
  11. 首个官方气象数据集公开,已训练出20多个“青出于蓝”的AI
  12. java_db常见错误总结
  13. 算法求解中的变量、数组与数据结构(STL 中的容器)
  14. 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
  15. 小甲鱼python自学笔记
  16. hive窗口函数和hive基础使用
  17. 计算机网络在电力系统继电保护的应用毕业论文,电力系统继电保护技术 毕业论文.doc...
  18. 解决idea项目没有蓝色小方块
  19. 如何登入MySQL数据库
  20. Vue学习之Vant图标使用及问题

热门文章

  1. python批量合并mp4视频
  2. A woman without arms
  3. linux 使用c语言如何获取网关地址
  4. 一种车牌识别摄像机在立体车库中的应用方案
  5. 微信自研生产级paxos类库PhxPaxos实现原理介绍
  6. Blender设置:如何把编辑模式下的顶点显示调大
  7. Spring框架基础(中)
  8. 小米系统shell_分享自用小米手机ADB命令删除系统内置应用
  9. C#局域网下的简单即时通讯案例
  10. win32gui恢复小化窗口,前置窗口