2011-08-11 6 views
-2

ajax.phpスクリプトから$ .getを使って情報を取得しています。 ajax.phpスクリプトでは、私はサイト上でライブを更新したいデータベースの異なる番号を取得します。私は、JSON彼らは罰金返されajax.phpスクリプトでそれらをエンコードする場合0.79jquery jsonでdecimalを処理する

:しかし、今私は、DBから来る値のいくつかは次のように、小数点以下のものであることを問題に遭遇してきた

ex:o_epc: "0.71" 何らかの理由で私の.getはこの値を理解し、それをnullとして返します。

これを動作させる方法に関するアイデアはありますか?ここで

が私の$に.getコール

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

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

ですこれは私が

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

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

答えて

-1

私のJSONをエンコードする方法ですそのようにエンコードしてみてください:http://json.orgとして

o_epc: 0.71 

することができます:

number 
    int 
    int frac 
frac 
    . digits 
+0

どうすればよいですか? :) – samirah

0

PHPが"0.71"としてエンコードしている場合、それらはスクリプトのどこかの文字列に変換されています。 JSONでは、実際には整数/浮動小数点数である場合に限り、裸の数値を使用できます。 sprintf()やnumberformat()などのスクリプトをチェックして、値を内部的に文字列に変換します。

+0

私は$ floatVar =(float)$ db ['o_epc'];を実行することでfloatに変換しました。 jsonでは ""なしで表示されますが、$ .getは0.71ではなく0として解釈します – samirah

関連する問題