2011-11-09 23 views
0

私は現在、ajaxのユーザと一緒にPHPプロジェクトを進めています。私はデータベースからhtmlドロップダウンボックスに値を移入する必要があり、これをajaxの投稿からやりたいと思っています。php ajax投稿から配列から値を取得

これまでのプロジェクトでは、私は$ .postを使用していましたが、データベースからすべてを取得するため、PHPスクリプトに何かを投稿する必要はありません。私がする必要があるのは、PHPスクリプトがデータベースから情報を取得し、その情報を配列に取り込み、その配列をajaxを呼び出す呼び出し元のPHPスクリプトに返すことです。

配列のアイデアは、もしそうなら、私は何かの投稿をしていない場合、ajaxから配列の内容を取得するか、より良い方法があり、どのようにajax呼び出しを行うのですか? 。

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

+0

xAjaxをご覧ください。http://www.xajax-project.org/ – SteAp

答えて

0

あなたがそうのように、あなたのjQueryのAjaxリクエストでJSONを使用して記述しているものを行うための最も簡単な方法:

// PHP side 
<?php 

// Do your database query, and then echo out your desired data like so: 

echo json_encode(array(
    'test' => 'your data', 
    'test2' => array('you can also use', 'arrays'), 
    'test3' => array('or' => 'keyed arrays'), 
)); 

die(); // don't echo anything other JSON, or you'll get errors 

?> 


// Javascript side 
$.post("url.com", post_data, function(json) 
{ 
    // Do something with your data here: 

    alert(json.test); 

    alert(json.test2[1]); 

    alert(json.test3["or"]); 

}, "json"); 
+0

ご協力いただきありがとうございます。私がデータを投稿する必要がない唯一の問題は、ポストデータがないので、$ .postが適切だとは思わなかった。 – Boardy

+0

ポストが空であればそれは本当に問題ありません –

+0

私はPHPの部分が正常に動作していますが、javascriptでは未定義と言っています。 'platform' =>「myPlatform」とjsonを入れました.platformですが、未定義と表示されます。 – Boardy

0
$.ajax({ 
     url: "your_script.php", 
     global: false, 
     type: "POST", 
     data: {}, 
     dataType: "json", 
     async:false, 
     success: function(results){ 
      //append your json results to your DOM 
      $('#some_div').html(''); 
      for(var i = 0; i < results.length; i ++) 
      { 
       $('#some_div').append('<p>' + results[i].html + '</p>'); 
      } 
     } 

    }); 

とあなたのPHPは、結果をjson_encodeする必要があります...

die(json_encode(array(array('html' => 'first'), array('html' => 'second')))); 
関連する問題