2012-12-20 56 views
1

我的網站是基於AJAX的,我需要做出AJAX請求,它有時會返回JavaScript(<script>元素)。 jQuery文檔說因爲html()函數$.load削減<script>元素。如何保留腳本並在插入代碼時運行腳本?jQuery.load不刪除<script>元素?

+0

你如何調用'$ .load()'? –

回答

0

$.getScript()將爲您提取腳本。只要給它腳本的URL下載,它會(從the docs):

負荷使用HTTP GET請求的服務器的JavaScript文件,然後 執行它。

+0

我需要獲取HTML和內聯JS。這對我的情況沒有幫助。 – barakuda28

+0

然後將響應更改爲僅包含HTML,並分別獲取腳本。你不應該混合HTML和JS。 – Bojangles

0

您可以隨時使用好老平常$.ajax()呼叫,並在success:我們document.getElementById("element").innerHTML = data功能。

編輯:沒有測試它,但$("#element").append(data)也應該工作。

EDIT2:的document.getElementById( 「pasteElement」)的innerHTML = $(數據).find( 「#copyElement」)

EDIT3:現在我只是想我的這種想法和我百思不得其解了。我很抱歉。

+0

我試過:'$(this).append($(response) 如何在不刪除腳本的情況下獲取HTML? – barakuda28

+0

剛剛編輯了答案,使用innerHtml。如果你只需要頁面的一部分,我聽說有一種方法可以在jQuery ajax中調用「page.html#myelementid」來獲取元素,這可能有幫助。 – efkah

+0

這就是我最初嘗試使用的'load()'函數。它調用'html()'並刪除腳本。 – barakuda28