具有生成HTML这样的Rails应用程序:我如何调试Ajax请求
<a href="/ReadItLater/stock?qid=5618572&" data-remote="true">stock it</a>
当我点击这个链接的浏览器,我可以得到关于Firebug的AJAX请求,控制台选项卡上的信息。我可以看到请求的响应:
$("#stock_5618528").hide();
但我怎么可以设置断点在此行和调试代码?
具有生成HTML这样的Rails应用程序:我如何调试Ajax请求
<a href="/ReadItLater/stock?qid=5618572&" data-remote="true">stock it</a>
当我点击这个链接的浏览器,我可以得到关于Firebug的AJAX请求,控制台选项卡上的信息。我可以看到请求的响应:
$("#stock_5618528").hide();
但我怎么可以设置断点在此行和调试代码?
如果您更改您的响应以包含调试器关键字,它应该将其作为断点。 因此,在这种情况下,他们的回应是:
debugger;
$("#stock_5618528").hide();
显然没有忘记删除,当它上线。 :D
嗯..我把这一行添加到AJAX响应,但调试器没有启动。可能是我需要在操作系统注册调试器? – demas 2011-04-11 08:55:44
@demas如果您正在运行安装了firebug的firefox,请确保启用了脚本选项卡,并且如果它遇到它,它应该在调试器关键字处中断。 – 2011-04-11 08:58:22
此外,因为您使用的是萤火虫。
尝试使用`console.log()'。它非常方便。
您可以在脚本执行后查看输出,而不是中断执行,然后处理ajax超时。
所有你可能需要做的是..
$.ajax({
url: "...",
success: function(response){
console.log(response);
}
});
InfernalBadger回应与前端/脚本调试解决方案。如果你在(在Rails代码IE)服务器端感兴趣的调试,请执行下列操作
rails server --debugger
<% debugger %>
我没有得到这...你可以请详细一点貌似我不理解的问题。看起来你有萤火虫,设定一个中断点后,你应该可以调试代码。 – 2011-04-11 08:35:07
我添加了我的答案截图。我在控制台选项卡上收到javasript(答案),我不能在这里设置断点。 – demas 2011-04-11 08:41:57
所以'$(“#stock_5618528”)。hide();'是服务器响应AJAX请求的输出吗? – lonesomeday 2011-04-11 08:42:40