0

この質問の仕方がわからないので、必要なものをシミュレートします。一部の開発者は、javascript を php でレンダリングして必要なものを作成します。簡単なサンプル ファイルは次のようになります。

my_javascript_file.php

<?php include "my_class.php"; ?>

$(document).ready(function(){    

  $.ajax({
    url: "<?php $my_obj->post_url(); ?>",
    success: function(){
      alert("Post successful")
    }
  });
};    

以下を出力します。

$(document).ready(function(){    

  $.ajax({
    url: "/post_handler.php",
    success: function(){
      alert("Post successful")
    }
  });
};    

私の質問はそこに来ます、純粋なjsテクニックでそれを達成する方法はありますか?

ありがとう、シナン。

PSこれは簡単な例です。もちろん、ここに投稿URLをハードコーディングしたり、JavaScriptを使用してロケーションオブジェクトなどでURLを取得したりできます。

編集:私が使用した用語による混乱をお詫びします。アプリケーションから情報を取得し、javascript に動的に書き込むだけです。コメットやデータエンコードなどの意味ではありません。

私が知りたいのは、JavaScriptファイルでサーバー側のデータを使用する方法です(方法があれば)。私の例でphpメソッドが行うことと同様に、アプリケーションからの文字列を単純にエコーします。テンプレートエンジンのように、変数を割り当ててそのテンプレートシステムで使用するように、javascriptライブラリまたはフレームワークでそれを行う方法はありますか? それが今より明確になることを願っています。

4

4 に答える 4

1

「プッシュ」の意味がわかりません...実際のサーバープッシュの場合は、コメットサーバーを確認する必要があります...

また、私には「純粋なjsテクニック」が何であるかは不明です...もちろんjQueryなしでこれを行うことができます...しかし、主にDOMを操作するように設計された言語はもちろん十分ではないため、純粋なJS...必要ですAJAXのようなアプローチ...しかし、HTML5をプッシュする提案がありましたが、ええ、これには少し時間がかかります...

だから私はこれが役立つことを願っています...しかし多分あなたはあなたの質問を少し明確にするべきです、私はあなたがより良い答えを得ると確信しています... :)

グリーツ

back2dos

于 2009-08-04T19:42:56.653 に答える
1

=================編集:新しい潜在的な回答=====================

サーバーからJavaScriptデータオブジェクトを取得できたとしましょう。HTMLマークアップで取得したJavaScriptデータをクライアント側に挿入しますか?

その場合は、IBDOMをご覧ください:http://ibdom.sf.net/

私はそれを書きました、私達はそれを数年の間多くのサイトで生産してきました。

=================以下の古い回答====================

したがって、「eventData」をJavaScriptで使用できる「何か」にする必要があります。

最初にPHPのJSONを確認することをお勧めします。

[PHPのJSONへのリンクを削除しました。不要です]

次に、PHPコードは次のようになります。

<?php include "my_class.php"; ?>

$(document).ready(function(){    

  $.ajax({
    url: "<?php $my_obj->post_url(); ?>",
    data: <?php json_encode ($my_obj->getData()); ?>,
    success: function(){
      alert("Post successful")
    }
  });
};

したがって、ここでの考え方は、「data:」フィールドの値が、サーバー上でPHPによって生成されたJSONオブジェクトグラフになるということです。

于 2009-08-04T19:44:59.723 に答える
1

はい、方法はありますが、奇妙です。jaxerサーバーを使用できます。サーバー上でjavascriptを実行できます。

編集:

コメントで述べたように、テンプレートエンジンを実装するために、クライアントに追加のjsをダウンロードする必要はないと思います。それはおそらくあなたが話している分離または分離です。その場合、別のjsファイルに次のものを含めることができます。

var myObject = {
var1 : '',
var2 : 0,
init : function(options) {
    var1 = options.var1;
    var2 = options.var2;

    $('#someElem').click(function() {
        // do stuff
        return false;
    };
}

};

そしてあなたのhtmlページからこのようにそれを呼びます

<head>
<script type="text/javascript">
    var options = {
        var1 : <?php echo "hello" ?>,
        var2 : <?php echo 1 ?>
    }
    myObject.init(options);
...
于 2009-08-04T20:10:51.247 に答える
1

.getまたは.ajaxを使用してサーバーに URL を要求できます(サーバーurls.phpがこれを適切に処理し、適切な文字列または JSON を返すと仮定します。この場合、 .getJSONを使用して URL を指定することもできます)。例(もちろんテストされていません):

$.get("urls.php", { operation: "post_handler" },
    function(data){
        $.ajax({
            url: data,
            data: eventData,
            success: function(){
                alert("Post successful");
            }
        });
    });
于 2009-08-04T20:04:45.207 に答える