【发布时间】:2011-10-05 08:23:01
【问题描述】:
我正在使用 MVC 和 jquery 从服务器中提取一个函数(作为我动态生成并附加到 html 正文的部分视图)并执行它。这工作正常,我可以在提琴手中查看它,但调试很糟糕。我使用以下方法引入该方法:
$("#makeGrid").click(function (e) {
$.get('/gridder/basicgrid', callbackFn);
function callbackFn(data) {
//Append markup to dom
$('body').append(data);
// call the js function from the partialview here
generateGrid();
}
});
这是否是最佳实践我不确定,但如果我在 ajax 命令之后“查看源代码”,代码不可见,并且使用调试器;命令似乎不起作用。例如:
function generateGrid() {
alert("start");
debugger;
alert("end");
}
创建两个警报,但即使 firebug 处于活动状态,也不会启动调试器。这个discussion 提出了类似的问题。有些人通过使用调试器两次(这个错误现在已经消失)或在新窗口中打开萤火虫(不走运)来解决它。甚至 eval('debugger;');有人在另一个线程中建议但不好!
有什么建议吗? (包括如果需要使用除firebug以外的工具,但我想调试,而不是查看fiddler风格)
【问题讨论】:
-
view source永远不会显示通过 ajax 加载的内容。您需要使用 Firebug 之类的工具或内置 DOM 检查器的浏览器来检查 DOM -
不能在 Firebug 中设置断点而是使用
debugger语句吗? -
谢谢大家 - re: DOM 检查,我还没有找到包含代码的元素。它确实执行了(我的警报出现了),但是所有抛出异常或调用调试器的尝试都不会产生任何结果。还有保罗,我看不到代码,所以很遗憾无法添加断点。
-
您是否在 Chrome 中尝试过(打开开发者工具和调试器语句)?
-
嗨,马丁,是的,我确实尝试了 chrome,结果相同。不知道为什么。也许是因为我引入了一个带有
标签: javascript model-view-controller debugging firebug