項目內某一頁面需要獲取訂單相關信息,因做的是異步交互,用ajax去取數據,后台訂單信息通過JSONArray序列化成字符串然后返回。
看起來挺正常的一個流程,但是突然發現用戶提供的訂單號都查不到,出現了訂單號+1或者-1的情況,初步檢查發現從數據庫獲取數據
沒有任何問題,序列化也正常,但是該json接口結果被JSONView(Chrome的一個插件,用來格式化JSON的)格式化后,也出現了+1
或者-1的情況,右鍵查看源碼的時候訂單號並無變化,推斷是在JS獲取json的時候,值發生了變化:
13021817070800019 -- >13021817070800020
13021816563900017 -->13021816563900016
順便查了下也並非long的最大值問題,后來直接在瀏覽器輸入:javascript:alert(13021817070800019);
甚至Chrome的調試工具里Preview中出現的也是變化后的值
沒錯,彈出來的是13021817070800020。尚不知道是哪里的Bug,目前先將訂單號用字符串處理,借首頁一用,還請見諒!
知道怎么回事的朋友還望回復告知