2011-11-11 16 views
0

現在、データベースから情報を取得するphp/javascriptプロジェクトに取り組んでいます.jsonはデータをエンコードしています。 Webページ上のコンボボックス内のデータベースからの値を表示することになっています。 JavaScriptコードでJavaScriptからJSONデータを取得する

$query = "SELECT pla_platformName as `platform` FROM platforms"; 

    $result = mysql_query($query); 

    if ($result) 
    {  
     while ($myrow = mysql_fetch_array($result)) 
     { 
      $output[] = $myrow;      
     } 

     print json_encode($output); 
     die(); 
    } 

Iは、以下を有する::私は、次のコードを持っているMySQLのデータを符号化するPHPスクリプトで

<script> 
     $(document).ready(function() 
     { 
      getPlatforms(); 
      function getPlatforms() 
      { 
       $.post("phpHandler/get-platforms.php", function(json) 
        { 
         alert(json);  
         alert(json.platform); 
        } 
       ); 
      } 
     }); 
    </script> 

Iアラート(JSON)を有します。

[{"0": "hello"、 "platform": "hello"}、{"0":アンドロイド "platform": " 「世界」}]

次の警告(json.platform)私はそれがHello Worldのか、その両方が、それは未定義と言って続けているこの行のいずれか、またはを表示するように期待しています。なぜこれが機能しないのか、特定のプラットフォーム(helloまたはworld)を取得するにはどうすればよいですか。

ご協力いただきありがとうございます。

答えて

4

、返されたオブジェクトが配列です。あなたはあなたのAJAX呼び出しでjsondataTypeオプションを設定した場合、最初のステップをスキップすることができます

alert(data[0].platform); 

を試してみてください。

$.post("phpHandler/get-platforms.php", function(data) { 
    alert(data[0].platform); 
    }, 
    'json' 
); 

は、あなたの助けのためのjQuery.post() documentation

4

各アイテムにプラットフォームメンバーが定義されているため、プラットフォームに使用する配列アイテムを指定する必要があります。

私はあなたのjsonパラメータが実際にはJavaScriptオブジェクトを保持していて、単に文字列ではないと仮定しています。文字列の場合は、PHPページでcontentType 'application/json'を定義する必要があります。 (私は自分自身でサーバー側で.NETを実行するので、PHPでどのように行うのかは分かりません)。

すぐにテストするには、$ .parseJSON(json)を実行してオブジェクトを取得します。あなたが最初にこの場合

var data = $.parseJSON(json); 

オブジェクトにあなたのJSON文字列を変換する必要が

+0

感謝を参照してくださいが、まだ..私はそれを入力している間に他の誰かが投稿..おお未定義 – Boardy

+0

を表示している:)あなたが行っている場所、それはあなたを取得願っています。 :) – Mithon

関連する問題