Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ajax回调和脚本标记_Jquery_Ajax_Callback - Fatal编程技术网

Jquery ajax回调和脚本标记

Jquery ajax回调和脚本标记,jquery,ajax,callback,Jquery,Ajax,Callback,因此,我最终发现ajax回调不会加载位于脚本标记之间的页面内容。多年来,我一直在尝试如何解决这个问题(这里没有jquery专家)。我读了很多书,看了很多视频-使用.load代替.html,使用eval,append,将脚本放在标题中 无论如何,这些方法也可能有效,但我正在使用的方法是基于我观看的视频: [http://www.ajaxvideotutorials.com/V11Videos/jquery_evaluateJavascriptInScriptTagsInAjaxResponse.s

因此,我最终发现ajax回调不会加载位于脚本标记之间的页面内容。多年来,我一直在尝试如何解决这个问题(这里没有jquery专家)。我读了很多书,看了很多视频-使用.load代替.html,使用eval,append,将脚本放在标题中

无论如何,这些方法也可能有效,但我正在使用的方法是基于我观看的视频: [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>

值=10

谢谢你的帮助!Chris

如果我没弄错的话,如果您想让元素包含任何一个类,它们必须用逗号分隔。如果要同时使用这两个元素,则不能有空格

$(".page-content,.testing").find('script') function(){
    alert(eval(value));
}

$(".page-content.testing").find('script') function(){
    alert(eval(value));
 }