瀏覽器中的 preview 和 response 顯示的值不一致

 

背景:

圖中是瀏覽器渲染的表結構,我們的節目ID在表結構中作爲主鍵ID,是不會存在重複的情況的,那到底是怎麼造成的呢?

 

 

邏輯梳理:

經過排查返回值,我們發現NetWork中的 preview 與我們頁面所展示出來的值一致,主鍵ID是錯誤的🙅‍♂️,

我在js中設置debug,可以看到拿到的返回值和 preview 的一致,主鍵ID是錯誤的🙅‍♂️,但是...

NetWork中的 Response與頁面展示的值不一致,但是卻是正確的主鍵ID🙆,

我使用Postman來進行請求,發現請求值也是正確的🙆,那麼問題就出現在瀏覽器上了!!

經過查閱資料,得知:

"由於JavaScript中Number類型的自身原因,並不能完全表示Long型的數字,在Long長度大於17位時會出現精度丟失的問題,超過17位的部分瀏覽器會轉換爲0顯示"

後端請求返回的主鍵id爲19位的Long型的數值,js中的Number類型只能解析其中的17位,其他幾位補位爲0,就會造成如上問題。

 

問題解決:

1、後臺把long型改爲String類型(推薦🙆)

JAVA Long String類型之間的轉換

2、前端支持long型(不推薦🙅‍♂️)

如何在JavaScript中實現一個Long型——Long.js源碼學習與分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章