2016-05-24 62 views
5

使用AJAX我請求authenticationID這樣的: enter image description here爲什麼jQuery取得價值?


這是錯誤因爲真正的HTTP傳輸是這樣的:

enter image description here

(順便說一句:響應 - 類型是「application/json; charset = UTF-8」)

我看到一個衝突

-1369082024195183657 and 
-1369082024195183600 

如何防止舍入或它是一個錯誤?

+2

我沒有統計數字,因爲您只將它們提供爲圖像。但是,js中的最大整數是「+/- 9007199254740991」,所有數據都具有浮點精度。 [數字可以達到的JavaScript的最高整數值,而不會損失精度?](http://stackoverflow.com/questions/307179)如果您想要更高的精度,您需要使用小數/號碼庫。 –

+0

你可以嘗試使用float。它看起來很大。 –

+0

但不是HTTP響應總是一個字符串?它不應該容易受到整數限制,除非jQuery嘗試過度並決定將響應轉換爲數字下的數字。 – pawel

回答

3

jQuery試圖根據JSON內容類型將HTTP響應解析爲整數。

> JSON.parse("-1369082024195183657") 
-1369082024195183600 

,你可以告訴jQuery的覆蓋它,你在$.ajax配置設置dataType財產期望的字符串:

$.ajax({ 
    dataType : "text", 
    url : "rest/Registration", 
    success : function(data){ 
     // data should be "-1369082024195183657" 
    } 
}) 

我猜你不需要做上authenticationID令牌的算術運算,所以你可以把它保存爲一個字符串。

相關問題