Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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
Javascript Rails:一个简单的remote:true调用不会生成js响应_Javascript_Jquery_Html_Ruby On Rails_Iframe - Fatal编程技术网

Javascript Rails:一个简单的remote:true调用不会生成js响应

Javascript Rails:一个简单的remote:true调用不会生成js响应,javascript,jquery,html,ruby-on-rails,iframe,Javascript,Jquery,Html,Ruby On Rails,Iframe,我正在使用iframe在rails应用程序中显示托管在同一域中的一些静态html文件。我向iframe中的一个元素添加了一个带有remote属性的链接,希望进行一个就地ajax调用来创建一个新的嵌套资源,如下所示: ----project.js---- var f = $( ".myFrame" ); f.load(function(){ $(this).find('.jd-details-title').append('<a data-remote="true" href

我正在使用iframe在rails应用程序中显示托管在同一域中的一些静态html文件。我向iframe中的一个元素添加了一个带有remote属性的链接,希望进行一个就地ajax调用来创建一个新的嵌套资源,如下所示:

----project.js----
var f = $( ".myFrame" );
f.load(function(){
        $(this).find('.jd-details-title').append('<a data-remote="true" href="/projects/10/issues/new" id="new_link">New Issue</a>');
});
----javadocs.html.erb----
<iframe width="100%"
                  height="1200"
                  frameborder="0"
                  scrolling="auto"
                  class='myFrame'
                  src= <%= /path/to/static/htmls/ %> >
          </iframe>
---project.js----
变量f=$(“.myFrame”);
f、 加载(函数(){
$(this).find('.jd details title').append('');
});
----javadocs.html.erb----
当我在iframe内点击这个链接时,iframe被重定向到newissue html页面,但是当它移到iframe之外时,它神奇地调用了newissue的js版本


我错过了什么?如何修改此代码以获得相同的行为?

远程:true由Rails上名为
jquery\u ujs
的javascript库控制(您可以在application.js中看到)。由于iframe页面不包含此库,因此它将无法理解
remote:true
(请记住,iframe中的页面与父页面完全隔离)

在这种情况下,我认为您必须手动处理iframe中的链接。例如:

$("link_id_inside_iframe").click(function(e){
   e.preventDefault();
   var link = $(this).attr("href");
   $.getScript(link);
});