如何调试Ajax请求

时间:2011-04-11 08:29:07

标签: javascript ruby-on-rails ajax firebug

我有一个生成HTML的Rails应用程序:

<a href="/ReadItLater/stock?qid=5618572&amp" data-remote="true">stock it</a>

当我在浏览器中单击此链接时,我可以在“控制台”选项卡上获取有关Firebug上的AJAX请求的信息。我可以看到请求的回复:

$("#stock_5618528").hide();

enter image description here

但是如何在此行上设置断点并调试此代码?

3 个答案:

答案 0 :(得分:11)

如果您更改响应以包含调试器关键字,则应将其作为断点点击。 所以在这种情况下,响应将是:

debugger;
$("#stock_5618528").hide();

显然不要忘记在它上线时删除它。 :d

答案 1 :(得分:5)

此外,因为你正在使用萤火虫。

尝试使用`console.log()'。它非常方便。

您可以在脚本执行后查看输出,而不是中断执行,然后必须处理ajax超时。

您可能需要做的就是......

$.ajax({
  url: "...",
  success: function(response){
    console.log(response);
  }
});

答案 2 :(得分:3)

InfernalBadger采用了前端/脚本调试解决方案。如果您对在服务器端进行调试感兴趣(即在Rails代码中),请执行以下操作

  1. 开始webrick:
  2. rails server --debugger
    
    1. 并在rails代码/视图中添加调试器,您希望它在断点处到达,您将获得一个控制台,其中包含所有环境和上下文!
    2. <% debugger %>