我对嵌入式项目感到失望: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
。感谢任何提示。感谢。
注意:一旦它破裂,即使我保持清爽,它也不会工作。但如果我关闭标签并打开一个新标签,它就会起作用。
答案 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)