应该注意的是,我不是很熟练使用Firebug,但我没有发现任何可以解释以下问题的错误。
我有一个包含以下代码的feed.js.erb
文件:
var $foos = $('<%= escape_javascript(render(@foos)) %>');
$('#container').append($foos);
$('#pagination_button a').attr('href', '<%= feed_path + '?page=' + @page %>');
当第二次 进行此ajax调用时,它似乎无声地失败。我在Firebug控制台中看到了相应的响应,但 $foos
未被更改,随后永远不会追加#container
。
我的html页面只包含一个加载指示符,它在第一次调用时成功替换。第二个调用是从其他javascript(Infinite Scroll)触发的。
如果重要,我注意到第一次调用是使用自动生成的时间戳参数进行的。之后,我将替换目标网址,如您在#pagination_button a
上看到的那样。
如何在浏览器中调试?
更新 :我使用ERB使$foos
成为动态变量($ foos1 ... $ foos2)并注意到这也无效。因此,即使新的@foos
在控制台的响应中可见,我的javascript的第一行也没有被评估。
答案 0 :(得分:3)
事实证明,Rails没有像JS一样处理我的第二个请求。更重要的是,如果JS引发异常,它将转换为纯文本as explained here。 Steve还展示了如何调试ajax代码,有效地回答了我的两个问题。