ホームページ >ウェブフロントエンド >jsチュートリアル >Ajax 応答から返された JavaScript 関数を呼び出すことはできますか?
Ajax レスポンスから返される JavaScript 関数の呼び出し
多くのシステムでは、Ajax リクエストは、データ挿入後に呼び出す必要がある関数を含むスクリプト ブロックを返します。 。このため、そのような関数が DIV に挿入された後に呼び出せるかどうかという疑問が生じます。
可能ですか?
はい、次のことを前提として、返された JavaScript 関数を呼び出すことは可能です。
コード例:
次のコードは、Ajax を使用しない概念を示しています。
<code class="javascript">var newsc = '<script id="sc1" type="text/javascript">function go() { alert("GO!") }</script>'; var e = document.getElementById('div1'); e.innerHTML = newsc; eval(document.getElementById('sc1').innerHTML);</code>
考慮事項:
関数を別の .js ファイルに外部化することはできますが、Ajax の繰り返し呼び出しや関数コンテキストの変更によって問題が発生する可能性があります。したがって、設計の選択を慎重に検討してください。
代替アプローチ:
Ajax 応答を受信した直後にコンテキストを認識した関数の呼び出しが必要な場合は、次の使用をお勧めします。 krosenvold によって説明されたプロトタイプ アプローチ。クロスブラウザーでテストされており、将来の実装のための強固な基盤を提供します。
以上がAjax 応答から返された JavaScript 関数を呼び出すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。