gpt4 book ai didi

通过 AJAX 的 jQuery XML : missing some nodes occasionally

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:16 27 4
gpt4 key购买 nike

我有一个浮点图,它通过 ajax 从 XML 文档中轮询数据。我使用模式:x 轴时间。它工作正常,除了间歇性地,xml Document 中的一些值被删除。这是通过 ajax 获取 xml 的代码。

function graphUpdate() { 
$.ajax( {
url: "EnergyDM.xml",
type:"GET",
dataType: "XML",
success: onxmlReceived,
error: function(xhr, textStatus, errorThrown)
{
alert(textStatus + ' ' + errorThrown);
}
});
// setTimeout(graphUpdate,10000);
}

function onxmlReceived(data) {

var xmlData = null;

//for Non IE Browsers
if(window.DOMParser) {
//xmlData = data;
parser = new DOMParser();
xmlData = parser.parseFromString(data, "text/xml");
}

// For IE
else {
xmlData = new ActiveXObject("Microsoft.XMLDOM");
xmlData.async = false;
xmlData.loadXML(data);
}

$(xmlData).find('energyDM').each(function(){
Rec_Count = parseInt($(this).find('edNum').text());
d1=[];
for(var i = 0; i < Rec_Count; i++) {
if(i < 10) {
d1.push([(parseInt($(this).find('et000'+i).text(),10))*1000,
parseFloat($(this).find('ed000'+i).text())]);
} else if(i < 100) {
d1.push([(parseInt($(this).find('et00'+i).text(),10))*1000,
parseFloat($(this).find('ed00'+i).text())]);
} else {
d1.push([(parseInt($(this).find('et0'+i).text(),10))*1000,
parseFloat($(this).find('ed0'+i).text())]);
}
}
plotWithOptions();
});

}

XML 文件如下所示:

<energyDM>
<edNum>305</edNum>
<TMF>UTC </TMF>
<pm339> 1.271</pm339><!-- pm339 max energy demand value -->
<pm340>1325033716</pm340><!-- pm340 max energy demand occured time -->
<ed0000> 0.282</ed0000>
<et0000>1325545093</et0000>
<ed0001> 0.283</ed0001>
<et0001>1325544792</et0001>
<ed0002> 0.284</ed0002>
<et0002>1325544492</et0002>
...
<ed0305> 0.284</ed0305>
<et0305>1325544492</et0305>
</energyDM>

当返回的 XML 缺少节点时,如果我使用 Chrome 查看这些值,它会显示如下内容:

  <ed0023> 0.283</ed0023>
<et0023>1325538176</et0023>
<ed0024> 0.281</ed0024>
<et0024>1325537875</et0024>
<ed0035> 0.281</ed0035>
<et0035>1325534564</et0035>
<ed0036> 0.280</ed0036>
<et0036>1325534263</et0036>

这并不总是发生。如果我不断刷新页面,它可能会丢弃几个节点,然后整个事情都会出现,等等。而且它也不总是被丢弃相同的节点。

如果有任何提示,我将不胜感激。

最佳答案

正如@MArk 所建议的,问题出在 XML 生成上。处理 XML 文件的微芯片处理器使用一个堆栈,当同时对服务器进行多次点击时,该堆栈会导致一些错误。当发生这种情况时,后续的中断将在没有完全处理当前操作的情况下得到处理。这已被发现并修复,现在 xml 很好。

关于通过 AJAX 的 jQuery XML : missing some nodes occasionally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com