0

私はAjaxプロジェクトに取り組んでいます。次のように php スクリプトから javascript 関数を実行できれば、実装できる多くの関数があります。

   <?php

   if(isset($_REQUEST['change-div))
   {
   echo'<script>  UpdateDiv("divId"); // function to change the text of the div on ajax page
   </script>';
   }

   ?>

しかし、JavaScriptコードがそのままエコーされるだけで動作せず、関数は実行されません。頑張ってみたり、ネットで調べたりしましたが、どうしようもないようです。

PHPスクリプトからJavaScript関数を実行する方法はありますか?

4

1 に答える 1

3

クライアント側でコードの実行を管理する必要があります。ajax経由で呼び出されるphpスクリプトが

?php
   if(isset($_REQUEST['change-div'])) {
      echo 'UpdateDiv';
      exit();
   }
?>

次に、Ajax成功コールバック(私はここではフレームワークに依存しません)は単純です

...
success : function(response) {
    if (response === 'UpdateDiv') {
       UpdateDiv();
    }
}

このようにして、クライアント側とサーバー側のロジックを適切に分離できます。JavaScript コードを挿入する (DOM 構造を変更する) 必要もありません。eval()

于 2012-05-08T08:46:24.157 に答える