我刚刚阅读了一些关于在轨道上使用ajax的教程。下面你可以看到从其中一个中提取的JS脚本,并进行了一些修改,我希望这些修改会导致一些错误并在某处写一些文本。 (公共/ Javascript角/ application.js中)
$('.submittable').live('change', function() {
$(this).parents('form:first').submit();
fdafdasfewa
document.write("Welcome to my world!!!");
echo "------------------";
});
事实上,脚本仍然没有副作用。
document.write和echo放在哪里文本?
当我甚至看不到它的输出时,如何调试这样的脚本?好吧有时候我甚至无法确定是否跑了。
答案 0 :(得分:1)
尝试发出提醒以确保您的代码已到达
$('.submittable').live('change', function() {
$(this).parents('form:first').submit();
alert('reached this point');
...
另外,使用Firebug或Chrome的开发工具。在Mac上的Chrome中,快捷方式是命令alt-i以显示开发工具,然后单击“控制台”以显示...控制台。
在控制台中,您可以输入
$('.submittable')
确保你的js有一个要连接的dom元素。如果$('.submittable')
没有返回任何内容,那么就没有选择dom元素。您甚至可以在开发工具中设置断点并逐步执行它们。要创建断点,请执行
$('.submittable').live('change', function() {
$(this).parents('form:first').submit();
debugger;
...
并且当达到该行时,开发工具将接管。
答案 1 :(得分:0)
我的猜测是当你调用$(this).parents('form:first').submit()
页面时发布了表单并且javascript没有执行超过该点,这就是为什么它没有抛出任何错误或写入任何文档。
我会使用console.log将测试输出与chrome或Firebug中的开发人员工具结合使用。这样你就知道要在控制台中查看,你也可以使用断点之类的东西来观察javascript的执行。