记一次诡异的ajax获取JSON数据异常情况
项目内某一页面需要获取订单相关信息,因做的是异步交互,用ajax去取数据,后台订单信息通过JSONArray序列化成字符串然后返回。
看起来挺正常的一个流程,但是突然发现用户提供的订单号都查不到,出现了订单号+1或者-1的情况,初步检查发现从数据库获取数据
没有任何问题,序列化也正常,但是该json接口结果被JSONView(Chrome的一个插件,用来格式化JSON的)格式化后,也出现了+1
或者-1的情况,右键查看源码的时候订单号并无变化,推断是在JS获取json的时候,值发生了变化:
13021817070800019 -- >13021817070800020
13021816563900017 -->13021816563900016
顺便查了下也并非long的最大值问题,后来直接在浏览器输入:javascript:alert(13021817070800019);
甚至Chrome的调试工具里Preview中出现的也是变化后的值
没错,弹出来的是13021817070800020。尚不知道是哪里的Bug,目前先将订单号用字符串处理,借首页一用,还请见谅!
知道怎么回事的朋友还望回复告知