所以,我終於想出了一個ajax回調不會加載腳本標記之間的頁面內容。我一直在試圖弄清楚如何解決這個問題(這裏沒有jQuery專家)。我讀過那麼多,看着視頻 - 使用.load而不是html的,使用eval,追加,把腳本的頭部....ajax回調和腳本標記
無論如何,這些方法可能會奏效過,但一個我米,是基於視頻我看了工作: [http://www.ajaxvideotutorials.com/V11Videos/jquery_evaluateJavascriptInScriptTagsInAjaxResponse.swf][1]
我用簡單的代碼進行試驗,投入我的大塊之前的代碼。但爲什麼我的代碼在這裏沒有工作?我的應用程序是一個rails應用程序
這是我的ajax代碼,在一個scripts.js文件中。關鍵線路需要注意的是:
$(".page-content .testing").find('script') function(){
alert(eval(value));
}
所有其他Ajax的東西工作的罰款高達那麼 - 這就是我試圖用它來展示什麼是腳本標記之間,在測試類的代碼,這是在頁面的內容
$(document).on("ready", function(){
var ajax_loaded = (function(response) {
$(".page-content")
.html($(response).filter(".page-content"));
$(".page-content .ajax").on("click",ajax_load);
$(".page-content .testing").find('script') function(){
alert(eval(value));
}
});
var form_submit = (function(e) {
e.preventDefault();
var url = $(this).attr("action");
var method = $(this).attr("method");
var data = {}
$(this).find("input, textarea, select").each(function(i){
var name = $(this).attr("name");
var value = $(this).val();
data[name] =value;
});
$.ajax({
"url": url,
"type": method,
"data": data,
"success": ajax_loaded,
"error": function() {alert("bad");}
});
});
var history = [];
var current_url_method;
var ajax_load = (function(e) {
e.preventDefault();
history.push(this);
var url =$(this).attr("href");
var method = $(this).attr("data-method");
if (current_url_method != url + method) {
current_url_method = url + method;
$.ajax({
"url": url,
"type": method,
"success": ajax_loaded,
});
}
});
$("#menu a").on("click",ajax_load);
$("#menu a.main").trigger("click");
$(".search-box form").on("submit", form_submit);
// $("#t_and_c").trigger("click");
});
在我show.html.erb文件我有:
<div class ='page-content'>
<div class = "testing">
<script type="text/javascript">
value=10
</script>
</div>
</div>
感謝您的幫助!克里斯