8

Google Maps API から読み取り、JSON オブジェクトのリストを取得する JavaScript コードをいくつか作成しました。次に、各 JSON オブジェクトを XML オブジェクトに変換します。同僚は、このリストを XML に変換し、既存の XML ファイルに追加して、サーバーに保存する必要があります。そこで、それを行うための PHP コードをいくつか書きました。

PHP を扱うのはこれが初めてですが、PHP コードを簡単に書くことができました。次にやろうとしているのは、PHP ファイルを実行するための JavaScript を記述し、XML オブジェクトを PHP に送信して XML を追加および保存できるようにすることです。私はjQueryの$.ajax機能を使用すると考えました。<pre>文字列をいくつかのタグにエコーしようとする簡単な例を使い始めました。だからここに私のコードがあります:

Javascript (index.php 内にあります)

<script>
    var scriptString = 'THIS IS MY STRING';
    $('#clickMe').click(function(){
        $.ajax(
        {
            method:'get',
        url:'index.php',
        data:
        {
            'myString': scriptString
        }
        });
    });
    </script>

PHP & HTML (index.php 内にもあります)

<button type="button" id="clickMe">CLICK ME TO RUN PHP</button>
<pre>
    <?php
        echo $_GET['myString'];
    ?>
</pre>
4

1 に答える 1

11
  • =データ変数名に含めないでください (単に と言ってください'myString': scriptString)

  • $.ajax( method: 'get')のフォーム送信方法を必ず含めてください

  • PHP コードでは、代わりに$myStringを使用します。$_GET['myString']

  • <button>a の代わりに a<div>を使用してデータをサーバーに送信することを検討してください。これはより標準的です。

しかし、最も重要なことは次のとおりです。

  • 返されたデータで実際には何もしていません! オプションには、サーバーからのデータを処理するsuccess関数も必要です。$.ajax

このコードを試してください:

(JavaScript)

var scriptString = 'THIS IS MY STRING';
$('#clickMe').click(function(){
    $.ajax({
      method: 'get',
      url: 'index.php',
      data: {
        'myString': scriptString,
        'ajax': true
      },
      success: function(data) {
        $('#data').text(data);
      }
    });
});

(PHP および HTML)

<?php
if ($_GET['ajax']) {
  echo $_GET['myString'];
} else {
?>
<button type="button" id="clickMe">CLICK ME TO RUN PHP</button>
<pre id="data"></pre>
<?php } ?>

PHP コードは、AJAX リクエストを処理しているかどうかに基づいて、さまざまなことを行うことに注意してください。AJAX リクエストの場合、ページの HTML を返すのではなく、関心のあるデータだけを返します。このため、index.php1 つのajax.phpページと AJAX リクエストを処理する 1 つのページの 2 つのページを用意することをお勧めします。

また、この単純な例では、JavaScript や AJAX を必要としないプレーンな HTML フォームを使用することもできます。

于 2012-08-22T14:19:30.987 に答える