Javascript Ajax停止在Chrome中运行

时间:2013-08-18 21:11:18

标签: javascript ajax google-chrome

我对嵌入式项目感到失望:Microchip以太网/ wifi。我有一个网页,通过ajax加载数据。由于大小限制,我不使用jquery,只是Javascript AJAX。

问题: 它似乎在firefox中都很好。但是在Chrome中,它启动,如果我刷新,AJAX停止工作(有时,在重复刷新后)。控制台中未记录任何错误。

我在

上创建了一个精简版演示

avarachan.com/test4/ajaxTest.html。它仅使用微芯片演示中的mchp.js。该页面通过AJAX从另一个页面加载一个数字。重复100毫秒,如果我在5秒钟内没有得到任何东西(即约50次尝试),它就会超时。

recreate this error,请在Chrome中打开demo link,然后继续刷新。我有5秒的时间。我正在使用latest version of Chrome。感谢任何提示。感谢。

注意:一旦它破裂,即使我保持清爽,它也不会工作。但如果我关闭标签并打开一个新标签,它就会起作用。

3 个答案:

答案 0 :(得分:3)

感谢@kol,认为这是一个缓存问题。所以我在参数中用随机数修改了url。似乎现在正在运作。

答案 1 :(得分:2)

WireShark显示,一段时间后,您的AJAX代码将获得HTTP/1.1 304 Not Modified而不是HTTP/1.1 200 OK。我认为答案会被Chrome缓存。您可以在URL中附加一个随机数参数以防止缓存(请参阅here)。

答案 2 :(得分:0)

function getXMLHTTP() { //function to return the xml http object
var xmlhttp=false;  
try{
xmlhttp=new XMLHttpRequest();
}
catch(e){       
try{            
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}

return xmlhttp;
}

function getdef()
{
alert('str');
if (str=="")
{
document.getElementById("def1").innerHTML="";
return;
}
if (window.XMLHttpRequest)