設置HTML我有一個jQuery函數異步獲得來自sucess AJAX後產生,並使用globalEval
function post_data_async_globalEval(post_url, post_data, globaleval) {
$.ajax({
type: 'POST',
url: post_url,
data: post_data,
dataType: 'html',
async: true,
timeout: 20000, // in milliseconds ~ 20 secs
success: function (result) {
jQuery.globalEval(globaleval);
}
});
}
數據發佈和我這樣稱呼它是
post_data_async_globalEval("../Internal/RTV_COM?vid=1578", "type=TM", "$('#postinnerhtml').html(result);");
所有我想要的是執行此JS功能
$('#postinnerhtml').html(result);
並用來自成功的結果變量替換響應的html函數來自Ajax post請求。
,但我得到這個錯誤,當我執行的代碼
Uncaught ReferenceError: result is not defined
我可以添加JS代碼我的成功函數內部,但我不希望只使用一個特定的JS代碼,我只是想解析我想在操作成功後執行的JS代碼。
你必須使用'globalEval'嗎?如果將成功函數中的'result'設置爲具有相同名稱的全局變量,您可能會成功,但爲什麼不讓函數接受回調函數而不是字符串呢?這個問題(我相信)是你的評估函數在全局上下文中執行,而不是成功函數上下文,所以它不能訪問被評估函數的局部變量。 –
如何使用eval而不是jQuery.globalEval? – Christophe
哦,我用eval,它工作:) :) – BOSS