0

基本的な質問で申し訳ありませんが、ここで何が起こっているのか少し混乱しています。私はWordpressでいくつかのPHPを実行しています.html、php、javascriptをすべて1つのファイルから実行できます。例えば:

<?php
//query WP for the tag

$wp_getTag = $wpdb->get_results( 
    "
    SELECT name 
    FROM $wpdb->mydb_wor1.ukj_terms 
    INNER JOIN ukj_term_taxonomy
    ON (
        ukj_terms.term_id = ukj_term_taxonomy.term_id
        )
    WHERE ukj_term_taxonomy.taxonomy LIKE 'post_tag'
    " 
);

$json = json_encode($wp_getTag);

?>

<script type="text/javascript"> 
// pass the value to js

var JsonTags = <?php echo $json ?>;

</script>

したがって、上記のすべてが機能します。wp からいくつかの情報を取得し、その値を echo を使用して JS 変数に割り当てています。しかし、ここで何が起こっているのかは明らかではありませんか?Javascript はクライアントではなくサーバーで実行されていますか?

4

2 に答える 2

3

いいえ、JavaScript はクライアントで実行されています。PHPはサーバー上で実行されています。つまり、このコードはサーバー上で実行されます。

<?php echo $json ?>

そのコードの評価により、出力のその場所で文字列がクライアントに発行されます。したがって、変数$jsonに文字列 "{ 'value' : 'hello world' }" が含まれている場合、次のコードがクライアントで実行されます。

var JsonTags = { 'value' : 'hello world' };

最初にすべてのサーバー側コードが実行され、最終的にクライアントへの応答になります。その応答がクライアントによって受信されると、すべてのクライアント側コードが実行されます。

于 2013-08-02T13:45:18.050 に答える
0

サーバーはクライアント側に情報を出力しているため、関数名は「エコー」です (サーバーからクライアント側にエコーします)。

最初にサーバーによって処理されるため、結果としてサーバー側のコードをクライアント側のコードに混在させることができます。これが、(Ajax を使用しないと) Javascript でサーバー側のコードに影響を与えることができない理由です。

于 2013-08-02T13:46:27.637 に答える