Почему jQuery округляет значение?
Используя ajax, я запрашиваю ID аутентификации следующим образом:
Это неправильно, потому что настоящий HTTP-Transfer такой:
(Между прочим: типом ответа является "application/json;charset=UTF-8")
Я вижу столкновение между
-1369082024195183657 and
-1369082024195183600
Как предотвратить округление или это ошибка?
2 ответа
Решение
Да, это ошибка. Сервер возвращает нелегальный JSON! Создан отчет: https://github.com/FasterXML/jackson-core/issues/291
jQuery пытается проанализировать HTTP-ответ как целочисленный на основе типа содержимого JSON.
> JSON.parse("-1369082024195183657")
-1369082024195183600
Вы можете переопределить его, сказав jQuery, что вы ожидаете строку, установив dataType
недвижимость в $.ajax
конфигурация:
$.ajax({
dataType : "text",
url : "rest/Registration",
success : function(data){
// data should be "-1369082024195183657"
}
})
Я полагаю, вам не нужно выполнять никаких арифметических операций с токеном authenticationID, так что вы можете просто сохранить его в виде строки.