3

これを行う方法?

  1. AJAXを使用してクエリをPHPファイルに送信するonclickイベントを持つボタンがあります。
  2. PHP ファイルには次の JavaScript が含まれています。echo '<script>alert("hello");</script>';
  3. onclick イベント ボタンを押すと、JavaScript が動作しません。「こんにちは」メッセージが表示されません。

PHP から JavaScript を実行する方法を知っている人はいますか? まさにこれが必要です。すべての JavaScript を AJAX レベルで実行する必要があることはわかっています。しかし状況によっては、PHP が応答として返す JavaScript を実行する必要があります。

よろしくお願いします

4

3 に答える 3

3

PHP はサーバー側で実行され、JS はクライアント側で実行されるため、PHP から Javascript を実行することはできません。evalクライアント側で返された Javascript コードが必要です。

これは、AJAX コールバック関数で行うことができます。

$('#yourButton').onclick(function(){
    //make your ajax request
    $.ajax({
        url : "url",
        success : function(resp){
            //resp is the javascript code sent back from PHP
            //eval it
            eval(resp);
        }
    })
});
于 2012-05-15T21:30:59.433 に答える
0

次のような JavaScript を検討してください。

"alert(\"hello\");"

次のように戻ります。

var js = ajax.r;

そして、次のようにします。

eval(js);

しかし、あなたは非常に深刻なアーキテクチャの問題を抱えているようです。

于 2012-05-15T21:28:54.747 に答える
0

Eval は機能しますが、注意してください。

ユーザーが生成したコンテンツが eval ステートメントに入る可能性がある場合、誰かがそれを使用してサイトの悪意のあるスクリプトを作成する可能性があります。

ただ頭を上げてください。

于 2012-05-15T21:44:07.367 に答える