如何在chrome上调试javascript

我有这个奇怪的问题,jquery.load有时会在chrome上失败。 我不会打扰你们的细节,我只是想找一个关于如何调试这个问题的指针?

我想也许萤火虫可以提供帮助,但问题只发生在chrome上(甚至适用于IE)。

我做的事情如下:

$("#contentid").html("Plz wait."); $("#contentid").load(url); $("#contentid").show(); 

我只在#contentid上获得“Plz等待”,我可以看到url被调用,并手动检查并看到它成功。

UPDATE2:

所以我根据建议更改了加载调用

 $('#conentid').load(url, function(response, status, xhr){ alert('Load was performed. url:' + url); if (status == "error") { alert("text: " + xhr.statusText); alert("readyState: "+xhr.readyState+"\nstatus: " + xhr.status); alert("responseText: "+xhr.responseText); } else { $("#conentid").show(); } }); 

发生错误时,我得到状态==’错误’。

xhr.statusText:0

xhr.readyState:4

xhr.statusText和xhr.responseText为空

知道为什么吗? 这是什么意思?

url手动工作。 并且此错误仅在chrome上发生,有时仅发生

Chrome实际上有相当不错的开发者工具。 单击扳手图标,从菜单中选择开发人员工具。

在这个特殊的问题上,我敢打赌在加载完成之前调用show – 异步发生加载。 在#contentid 上为“on load”设置一个事件处理程序并在其中执行show。

更新

实际上,有一种更好的方法可以做到这一点 ; 把你的show放到load函数的回调中:

 $('#conentid').load('ajax/test.html', function() { alert('Load was performed.'); $('#contentid').show(); }); 

另一个更新

好的,就绪状态为4表示XmlHTTPRequest正常完成。 现在,这里有一个含糊之处:是xhr.statusText 0还是空的? 您在其他浏览器上看到此代码(包括错误代码)的结果是什么?

如果它正在使用firefox,并且有时仅在Chrome上运行,那么您可能会遇到实际的Chrome错误。

也许其他人可以对这个答案有解释,但问题是:

我有一个基础href TAG

有一些关于使用jquery + base href的问题的参考资料。 我不明白为什么, 但删除这一行修复了一切 。 谢谢你的帮助,我在这个过程中学到了一些网页调试\ ajax技巧。