当前位置: 首页 > news >正文

全国企业信息官网网站seo前线

全国企业信息官网网站,seo前线,广州外贸营销型网站建设公司,wordpress 社交图标有个react项目是自己写的mock后端api,使用的是json文件模拟DB, slice函数模拟分页,但是在实际分页时,发现了分页不准的问题,现象如下: 当pageSize为5的时候(共16条数据),总共分4页&…

有个react项目是自己写的mock后端api,使用的是json文件模拟DB, slice函数模拟分页,但是在实际分页时,发现了分页不准的问题,现象如下:

当pageSize为5的时候(共16条数据),总共分4页,但是在前端切换分页按钮时,有如下问题:

1. 跳到第二页: api返回11条数据

2. 跳到第三页时: api返回6条数据

 

 这明显有问题,按道理说应该是前三页应该:每页都返回5条数据才对

到底哪里出了问题呢,于是开始对api服务端代码开启debug调试,在可疑处打断点:

发现入参pageNumber和pageSize是字符串类型,不是数字类型!

 严重怀疑是数据类型错误造成的问题,所以继续往下调试:

可以看到第135行的计算结果是16,这个明显不对,让我们来分析一下其中的原因:

startIndex是数字: 5

pageSize:是字符串:"5"

baseData.length(baseData中有16条数据):  16

那么计算一下 5 + "5"的结果是多少:

 

 可看到 5 + "5" = "55", 所以在取最小值时: Math.min("55", 16), 得出的结果就是16。

所以slice分页的起始索引就变成了slice(5, 16) , 也就是11条数据

然而我们期待的应该是两个数字类型的相加 :5+5 =10 ,那Math.min(10,16)的结果就是10,这才是我们想要的结果。

所以到此为止,真相已经清楚了: 就是入参数据类型的错误造成了分页不准的问题。

解决办法很简单:通过parseInt函数提前把入参从String类型转化成整数类型

  pageNumber = parseInt(pageNumber)

  pageSize = parseInt(pageSize)

 

 此时问题解决:

总结:在Javascript涉及到数字运算时,一定要特别小心,一定确保所有参与运算的元素提前转化成数字类型如果有字符串类型混入其中,就会造成计算结果错误的严重问题。

http://www.hkea.cn/news/714989/

相关文章:

  • 企业网站建设哪家服务好福州网站关键词推广
  • 惠州悦商做网站软件开发一般需要多少钱
  • 做衣服外单网站优化大师官方正版下载
  • 专门做酒店的网站百度排行
  • 上海做手机网站建设盐城网站优化
  • html论坛模板东营seo整站优化
  • 天津网站建设582345网址导航桌面版
  • 东莞纸箱厂东莞网站建设经典模板网站建设
  • 贺州同城购物网站建设中国网站排名100
  • 黄骅港旅游景点爱站网seo工具包
  • 网站 图文混编提高网站搜索排名
  • 北京怀柔网站制作教育机构
  • 网站建设费 大创友链交换平台
  • o2o商城网站系统开发微信群拉人的营销方法
  • 帝国cms做淘宝客网站网页设计用什么软件
  • 营销型网站建设的优缺点视频优化软件
  • 珠海响应式网站建设推广公司网络营销发展方案策划书
  • 中国人自己的空间站每日英语新闻
  • 教师可以做网站吗seo常用工具包括
  • 武山建设局网站什么是seo
  • 做文案需要用到的网站全网模板建站系统
  • 苏州乡村旅游网站建设策划书网站建设百度推广
  • 12380网站建设情况总结百度浏览器入口
  • 直播网站开发要多久排行榜前十名
  • 网站备案完才能建站吗企业建站公司
  • 网站开发外包合同西安网站优化公司
  • 2022网页设计尺寸规范和要求怎么做seo关键词优化
  • 北京大学两学一做网站十大收益最好的自媒体平台
  • 网站开发服务费企业网站建设的一般要素
  • 台州企业网站制作公司郴州网站推广