我有一个奇怪的问题,jquery.load 有时在 chrome 上失败。我不会用细节来打扰你们,我只是在寻找如何调试这样的问题的指导者?
我想也许 firebug 可以提供帮助,但问题只发生在 chrome 上(甚至适用于 IE)。
我做类似的事情:
$("#contentid").html("Plz wait.");
$("#contentid").load(url);
$("#contentid").show();
我在 #contentid 上只收到“请等待”,并且我可以看到该 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实际上有相当不错的开发者工具。单击扳手图标,从菜单中选择开发人员工具。
在这个特定问题上,我敢打赌该节目是在加载完成之前调用的——加载是异步发生的。设立一个“加载”的事件处理程序 http://api.jquery.com/load-event/ on #contentid
并在那里表演。
Update
其实,有一个更好的方法 http://api.jquery.com/load/;把你的show
进入回调load
功能:
$('#conentid').load('ajax/test.html', function() {
alert('Load was performed.');
$('#contentid').show();
});
另一个更新
好的,就绪状态 4 表示 XmlHTTPRequest 正常完成。现在,这里有一个歧义: xhr.statusText 是 0 还是空?您从其他浏览器上的此代码(包括错误代码)中看到什么结果?
如果它可以在 Firefox 上运行,但有时只能在 Chrome 上运行,那么您可能遇到了实际的 Chrome 错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)