【发布时间】:2012-12-16 10:22:20
【问题描述】:
我看到了很多关于如何使用 chrome、firebug 等调试 javascript 的问题和答案......
但这都涉及到一个预加载的js文件。
有没有办法调试(逐步,而不是使用警报)作为 Rails AJAX 请求响应的 js 脚本?
【问题讨论】:
标签: javascript ajax ruby-on-rails-3 debugging ujs
我看到了很多关于如何使用 chrome、firebug 等调试 javascript 的问题和答案......
但这都涉及到一个预加载的js文件。
有没有办法调试(逐步,而不是使用警报)作为 Rails AJAX 请求响应的 js 脚本?
【问题讨论】:
标签: javascript ajax ruby-on-rails-3 debugging ujs
假设您有权编辑 Rails 返回的文件,您可以临时插入 debugger; 语句。
然后,当您在收到 AJAX 响应时打开浏览器的调试控制台时,JS 执行将停止,您可以在调试器中逐步执行。
【讨论】:
如果您更改您的响应以包含 debugger 关键字,它应该将其作为一个断点。您只能从成功处理程序本身检查 ajax 调用的结果。所以在这种情况下,响应将是:
var test = "it isn't working";
var response = $.ajax({
type: 'GET',
url: 'jquerydemo.php',
success: function(data, textStatus, xhr){
debugger;
//alert("it's working");
},
error: function(xhr, textStatus, errorThrown){
debugger;
//alert("Error detected");
}
});
显然不要忘记在它上线时将其删除。 :D
【讨论】: