• ベストアンサー

AJAXでクリック時にサーバーからfinctionを取得

普通Javascripではfunction等は HTMLが読み込まれた際に実行または読み込まれますが、 AJAXでクリック時にサーバーからデータを取得する際に、 function(){}も取得したしてもそのfinctionは有効なのでしょうか? AJAXでデータは取得できても、functionなどのメソッドを取得してそれを有効にすることは可能でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

evalを使えば、文字列として受け取ったプログラムを実行出来ます。 関数の定義も可能です。 サンプル <html> <head> <script type="text/javascript"> <!-- //これは単なる文字列です。 var strFuncDef = "function hoge(){alert('hoge');}"; //evalで実行します。関数が定義されます。 eval(strFuncDef); //上記で後から追加した関数を呼び出します。 hoge(); //--> </script> </head> <body></body> </html>

その他の回答 (1)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

別回答。new Function()を使う方法。 こういう方法もありますね。 サンプル <html> <head> <script type="text/javascript"> <!-- //これは単なる文字列です。 var strProgram = "alert(x+y);"; //文字列のプログラムを関数として定義します。 //引数を並べた後、最後にプログラムです。 var hoge = new Function("x","y",strProgram); //上記で定義した関数を呼び出します。 hoge(12,34); //--> </script> </head> <body></body> </html>

関連するQ&A