页面偶尔出现查询/页面刷新错误,ejs出现类型报错/方法报错
来源:互联网 发布:韩国人 日本人 知乎 编辑:程序博客网 时间:2024/05/16 12:56
在做项目的时候碰到一个坑。在此记录下来。
nodejs项目,使用的是LRU-cache 。前端使用的是ejs模板引擎
在页面上点击按钮,进行查询的时候,刷新页面,显示查询结果(结果内含有一个日期数据)。但是发现有一定几率刷新成功,一定几率报错。
错误信息为date不存在getFullYear()方法。
觉得很奇怪,因为查看数据的明明是Date类型。
后来干脆将 typeof date 输出到当前页面上。连续刷新页面。发现打印信息第一次是object,以后都是string。也就是说第一次查询的时候是object类型,以后都是string类型。
由此推测出是缓存出了问题。
在第一次查询的时候,直接从数据库拿数据,所以类型没问题。但是在第一次取得数据的时候,会将查询结果以字符串形式缓存。第二次查询的时候,直接从缓存读数据,所以页面会报错。因为第二次已经不是Date格式了,不存在getFullYear()方法。
解决办法:
在页面上使用 new Date()对所取得的数据进行转换。这样就不会报错了。
<span style="font-size:18px;"><% data.date-change = new Date(data.date)%></span>接下来使用data.data-change进行时间数据输出就没问题了。
0 0
- 页面偶尔出现查询/页面刷新错误,ejs出现类型报错/方法报错
- JSP页面顶端出现“红色”的报错信息
- React+Nginx页面刷新报错问题
- c# 执行请求的过程中出现错误时配置报错页面代替错误堆栈跟踪
- QTP刷新当前页面报插件错误
- 数据库查询数字字段页面报错
- 网站报错跳转错误页面
- 错误处理机制代码,方法让所有报错页面都指向一个页面
- 页面报错错误代码
- 打开页面报错
- jsp页面报错
- 页面报错
- 页面报错404
- 新创建的jsp页面顶端出现“红色”的报错信息
- 将项目导入eclipse中出现的jsp页面报错解决
- 将项目导入eclipse中出现的jsp页面报错
- requirejs页面刷新失效js报错问题解决方案
- angularjs路由跳转页面后刷新报404错误
- z-index顺序重叠问题
- 还有两天实习一个月
- NavigationBar导航栏透明
- 2016.8.12纪中比赛总结
- 日期和时间 NSDate NSTimeInterval NSCalendar NSDateComponents NSDateFormatter
- 页面偶尔出现查询/页面刷新错误,ejs出现类型报错/方法报错
- Mysql与Oracle区别
- 正则表达式
- Effective Modern C++ 条款6 当auto会推断出不合理的类型时使用显式类型初始化语法
- UIView的layoutSubviews和drawRect方法何时调用
- AES加解密在STM32中的应用
- bzoj2870 边分治
- 第一行代码Android学习(二)
- HTML5中的拖放