很抱歉,如果这是基本的,我是一名C ++开发人员,并负责创建一个网页......
我们使用相机,我尝试从相机下载响应,以了解它具有哪些功能。然后我尝试提取这些功能,并将我的div元素设置为可见或不可见。
function readAlarmReactions()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if (parseXML(xhttp.responseXML, 'Beep') == 'false')
{
document.getElementById("Beep").style.display = "none";
}
}
};
xhttp.open("GET", "http://172.19.50.231/ISAPI/Event/triggersCap", true);
xhttp.send();
}
function parseXML(xml, request) {
var path = "/EventTriggersCap/isSupport" + request;
if (xml.evaluate) {
var nodes= xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
var result = nodes.iterateNext();
if (result) {
return result.childNodes[0].nodeValue;
}
return 'false';
}
return 'false';
}
当我运行此代码时,我会转到xhttp.open()
,但我从未到达readyState内的if (parseXML())
。我该如何调试这里发生的事情?
我用来测试的HTML是一个本地文件,所以它是从硬盘运行的,如果这有任何不同。
答案 0 :(得分:1)
调试这里发生的事情:
此外,您可能会研究JavaScript Promises。它们很难看,但它们是您正在寻找的更强大的解决方案。如果文件足够大并且您正在尝试处理它,那么您尝试获得的即时执行将不会发生。关于承诺的文章:
https://developers.google.com/web/fundamentals/primers/promises