1

index.html:

Function drawChart() {
            var jsonData = $.ajax({
                url: "server.php",
                dataType: "json",
                async: false
            }).responseText;

            var obj = jQuery.parseJSON(jsonData);

            var data = google.visualization.arrayToDataTable(obj);

            var options = {
                title: 'Number of visitors / <?php echo $unit; ?>'
            };

            var chart = new google.visualization.BarChart(
                        document.getElementById('chart_div'));
            chart.draw(data, options);
    }       
       }

サーバー.php:

$SQLString = "SELECT (...)'".$_POST['value']."' (...)
$result = mysql_query($SQLString);  
(...)
$data[$i] = array(...)
echo json_encode($data);

では、index.html は server.php からデータを取得しますよね? index.html が jsonData を実行する前にクエリを実行するために重要な値を server.php に送信できますか? どのように?

ありがとう :)

4

3 に答える 3

1

クエリ パラメータの例:

var jsonData = $.ajax({
                url: "server.php?someQuery=" + query,
                dataType: "json",
                async: false
            }).responseText;
于 2012-11-21T13:48:53.507 に答える
0

phery http://phery-php-ajax.netを使用して、自動的にそれを実行するライブラリを使用できます。この場合、次のようになります。

イベントphery:jsonはサーバーから送信されたJSONを処理します

var remote = phery.remote('data', {'argument': 'you want to send'}, {'target':'server.php'}, false);
remote.bind('phery:json', function(event, obj){
  var data = google.visualization.arrayToDataTable(obj);

  var options = {
    title: 'Number of visitors / <?php echo $unit; ?>'
  };

  var chart = new google.visualization.BarChart(
    document.getElementById('chart_div'));

  chart.draw(data, options);
});

remote.phery('remote'); // call the remote AJAX function

あなたの中でserver.php

function data($data){
  $r = new PheryResponse;
  // $data['argument'] will have 'you want to send'
  $SQLString = "SELECT (...)'".$_POST['value']."' (...)"
  $result = mysql_query($SQLString);  
  (...);
  $data[$i] = array(...);
  return $r->json($data); 
}

Phery::instance()->set(array(
  'data' => 'data'
))->process();
于 2012-11-25T09:37:25.723 に答える
0

ajax 経由で post メソッドを使用して送信できます。JQuery の例を次に示します。

    $.ajax({
             type: "POST",
             url: "some.php",
             data: { name: "John", location: "Boston" }
          }).done(function( msg ) {
                    alert( "Data Saved: " + msg );
                  });

http://api.jquery.com/jQuery.ajax/

于 2012-11-21T13:48:55.020 に答える