Обработка десятичной дроби в JQuery JSON - PullRequest
0 голосов
/ 11 августа 2011

Я получаю некоторую информацию через $ .get из скрипта ajax.php. В скрипте ajax.php я получаю разные номера из базы данных, которую я хочу обновить в режиме реального времени на сайте.

Однако теперь я столкнулся с проблемой того, что некоторые значения из БД являются десятичными, например: 0,79

Когда я JSON кодирую их в сценарии ajax.php, они возвращаются в порядке, например: o_epc: "0.71" но по какой-то причине мой $ .get doesent понимает это значение и возвращает его как ноль

Есть идеи, как заставить это работать?

Вот мой звонок в $ .get

                $.get("ajax.php", { opt: "networkStats", o_id: b }, function(r) {
                var j = eval('(' + r + ')');

                if(j.message) {
                    console.log(j.message);                     
                }
            });

Вот как я кодирую свой JSON

    $epc = (float) $db['o_epc'];

$RET['message']['o_epc'] = $epc;
die(json_encode($RET));

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

Если php кодирует их как "0.71", то они были преобразованы в строку где-то в вашем скрипте.JSON допускает пустые числа, но только если они на самом деле целые числа / числа с плавающей запятой.Поэтому проверьте ваш скрипт на наличие таких вещей, как sprintf () и numberformat (), которые внутренне преобразуют значение в строку.

0 голосов
/ 11 августа 2011

попробуйте кодировать таким образом:

o_epc: 0.71

как http://json.org позволяет:

number
    int
    int frac
frac
    . digits
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...