1

HTML5 地理位置情報と Javascript を使用して、Google の API で逆地理位置情報ルックアップを行い、ユーザーの町を取得しています。これはすべて正常に機能し、都市/町は という名前の JavaScript 変数に保存されていますcity.short_name

現在、私はワードプレスを使用しており、次を使用してサイトのコンテンツの一部を変更しようとしています:

document.getElementById('contenttochange').innerHTML = <? echo do_shortcode('[<code here>]'); ?>;

コンテンツが常に同じだった場合、つまり

<? echo do_shortcode('[just_do_this]'); ?>

それは問題ありませんが、残念ながら、町を というパラメーターとして追加する必要がありますsearch。例えば

<? echo do_shortcode('[just_do_this search="thetownofuser"]'); ?>

したがって、基本的に、町を見つけて変数として取得したら、その町をパラメーターとして PHP ショートコードを実行して、必要なコンテンツを置き換える簡単な方法はありますか?

4

1 に答える 1

1

PHP はサーバー側のハイパーテキスト プリプロセッサです (実際には頭字語 "PHP" の語源です)。一言で言えば、PHPは「アクティブ」ではないため、javascriptからPHPを実行することはできません。

PHP を実行しているサーバーにデータを として送信すると、requestPHP で処理され、XHTML が出力されます。これら<??>はすべて、クライアントに送信される前に出力にレンダリングされます。

クライアントは XHTML と Javascript のみを扱います (とりわけ、簡単にするため)。

変数はクライアントから送信されるドキュメントにレンダリングされるため、JavaScript にエコーすることができます。クライアントに到達すると、PHP は使用できなくなります。

変数を PHP スクリプトに送信するには、AJAX 呼び出しを行い、location変数をリクエストの一部として送信する必要があります。

または、ヘッダーの content-type が に設定さtext/javascriptれ、変数 in を受け取る PHP スクリプトを作成し、次の$_GETように含めることもできます。

<script type="text/javascript" src="setLocation.php?loc=<?= do_shortcode(/* Whatever */) ?>">
于 2012-09-05T19:06:52.303 に答える