呼叫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中文網其他相關文章!