如何解决如何在chrome上调试javascript
| 我有一个奇怪的问题,即jquery.load有时在chrome上失败。我不会打扰你们的细节,我只是在寻找如何解决这样一个问题的指导手? 我想到了萤火虫可能会有所帮助,但是问题仅在chrome上发生(即使在IE上也可以)。 我做类似的事情:$(\"#contentid\").html(\"Plz wait.\");
$(\"#contentid\").load(url);
$(\"#contentid\").show();
我在#contentid上仅获得\“ Plz wait \”,并且我可以看到该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();
}
});
发生错误时,我得到status == \'error \'。
xhr.statusText:0
xhr.readyState:4
xhr.statusText和xhr.responseText为空
知道为什么吗?这是什么意思?
网址是手动工作的。而且此错误仅发生在chrome上,并且有时
解决方法
Chrome实际上具有相当不错的开发人员工具。点击扳手图标,从菜单中选择开发者工具。
在这个特定问题上,我敢打赌,在加载完成之前会调用该节目-加载是异步发生的。为
#contentid
上的“ onload”设置事件处理程序,然后进行显示。
更新资料
实际上,有更好的方法可以做到。将show
放入load
函数的回调中:
$(\'#conentid\').load(\'ajax/test.html\',function() {
alert(\'Load was performed.\');
$(\'#contentid\').show();
});
另一个更新
好的,就绪状态为4表示XmlHTTPRequest正常完成。现在,这里有一个歧义:xhr.statusText为0还是为空?您在另一个浏览器上从此代码(包括错误代码)中看到什么结果?
如果它在Firefox上运行,并且有时仅在Chrome上运行,则可能是实际的Chrome错误。
, 也许其他人可能对此答案有一个解释,但问题是:
我有一个基本的href标记(<base href=\"http://domain.com/\" />
)
这里有一些有关使用jquery + base href的问题的参考。
我不知道为什么,但是删除此行可以解决所有问题。感谢您的所有帮助,我在此过程中了解了一些Web调试\\ ajax技巧。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。