2011-09-09 69 views
2

我有一個頁面被分成許多選項卡,每個選項卡通過ajax從其他頁面提取數據。Jquery .html()和jquery.load

在ajax調用之後,我使用了一個.html(data),其中數據是被調用頁面的html,將其插入到選項卡中。我的問題是,如果被調用的頁面具有JavaScript功能,那麼這些被執行和生成的數據將被髮送,或者只是發送html頁面?

請幫忙。

謝謝。

+0

你是什麼意思將這些被執行和結果數據發送? JS執行客戶端而不是服務器端。 –

+0

我的意思是,如果程序員的責任是在jquery ajax返回html之後執行腳本,或者jquery中的load/html將執行js代碼!對不起,使用混亂的話.. – srini

回答

1

是的,只要你在指定:

數據類型: 「HTML」,

你的Ajax調用內。

http://api.jquery.com/jQuery.ajax/:如果指定的HTML,則HTML被作爲字符串返回之前執行所檢索的數據 內部的任何嵌入的JavaScript

。同樣, 腳本將執行從 服務器拉回的JavaScript,然後不返回任何內容。

1

什麼是服務器返回是從什麼是顯示在頁面上不同。在Jquery接觸它之前,您收到的文件不會被處理。但是,只要Jquery收到它,腳本就會隨後執行。所以不,在Jquery收到內容之前腳本不會運行。

+0

我明白這一點。你可以看看我的帖子http://stackoverflow.com/questions/7366610/jqgrid-not-rendered-when-the-html-page-containing-the-grid-is-loaded-through-an-a在函數中形成的jqgrid根本不會在主頁面中呈現。謝謝 – srini