如何解决Rails中静默失败的js问题?
应该注意的是,我不是很熟练使用Firebug,但我没有发现任何可以解释以下问题的错误。
我有一个feed.js.erb
文件,其中包含以下代码:
var $foos = $(''); $('#container').append($foos); $('#pagination_button a').attr('href', '');
当第二次进行此ajax调用时 ,它似乎无声地失败。 我在Firebug控制台中看到了相应的响应,但$foos
没有改变 ,随后#container
永远不会被追加。
我的html页面只包含一个加载指示器,它在第一次调用时成功替换。 第二个调用是从其他javascript( 无限滚动 )触发的。
如果重要,我注意到第一次调用是使用自动生成的时间戳参数进行的。 在那之后,我正在替换目标url,你可以在我的#pagination_button a
上看到。
如何在浏览器中调试?
更新 :我使用ERB使$foos
成为一个动态变量($ foos1 … $ foos2)并注意到这也无效。 因此,即使新的@foos
在控制台的响应中可见,我的javascript的第一行也没有被评估。
事实certificate,Rails没有像JS那样处理我的第二个请求。 更重要的是,如果JS引发exception,它将转换为纯文本,如此处所述 。 史蒂夫还展示了如何调试ajax代码,有效地回答了我的两个问题。