2013-03-19 48 views
2

當我們使用腳本作爲jQuery/AJAX響應的響應時,它對我們有什麼幫助?使用jQuery AJAX響應返回的腳本

一旦我們發出AJAX請求,我們是否可以直接執行該響應腳本的函數?

任何基本的例子都會很棒。

+3

是的,看看Ajax的jQuery文檔。它有例子,它有一個getScript的快捷方式。爲什麼聽起來我們正在爲你回答作業問題? – epascarello 2013-03-19 12:19:26

+0

我想知道你需要什麼。也許你應該調用函數_name_來代替? – 2013-03-19 12:22:59

+0

還有很多問題,代碼有助於澄清 - 你是否真的將腳本添加到頁面?這一切是什麼樣子的? – 2013-03-19 12:28:34

回答

3

是的,我們可以使用getScript方法獲取腳本,它使用GET HTTP請求來獲取然後執行腳本。所以你可以在AJAX請求後直接執行該響應的功能。有關更多詳細信息和示例,請查看此鏈接上的jQuery文檔http://api.jquery.com/jQuery.getScript/

3

您可以使用eval(scriptStrings);這是javascript中的基本功能。你

還可以追加這些字符串作爲一個元素當前文檔進行評估,考慮考慮下面的代碼:

function addJavascript(jsname,pos) { 
    var th = document.getElementsByTagName(pos)[0]; 
    var s = document.createElement('script'); 
    s.setAttribute('type','text/javascript'); 
    s.setAttribute('src',jsname); 
    th.appendChild(s); 
} 
+0

不是:eval是邪惡的 – 2013-03-19 12:32:11

+0

那麼,剛編輯我的答案 – 2013-03-19 12:33:13

2

jQuery getScript可用於異步加載任何靜態腳本資源。它一下載就執行腳本。您可以使用回調選項從中調用任何函數。

但是,如果你的ajax響應是一個字符串。你必須使用eval功能。但在使用之前請閱讀其中一些EVAL MDN,evalisevil