Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX错误检查_Javascript_Html_Ajax - Fatal编程技术网

Javascript AJAX错误检查

Javascript AJAX错误检查,javascript,html,ajax,Javascript,Html,Ajax,我刚刚开始使用AJAX。我有一个关于在java脚本中解析XML数据的错误检查的查询。实际上,我正在使用C代码动态创建XML文件。有一段时间,下面一行的“无法读取子节点”是givint me错误xmlDoc.getElementsByTagName(“to”)[0]。子节点[0]。节点值。因此,在使用这一行之前,是否有任何方法可以检查我的XML数据是否包含我要查找的所有标记。所以我可以检查并采取适当的措施 我知道,我应该在创建XML文件时提供适当的标记。但是如果我错过了一些时间,那么我希望我的ja

我刚刚开始使用AJAX。我有一个关于在java脚本中解析XML数据的错误检查的查询。实际上,我正在使用C代码动态创建XML文件。有一段时间,下面一行的“无法读取子节点”是givint me错误xmlDoc.getElementsByTagName(“to”)[0]。子节点[0]。节点值。因此,在使用这一行之前,是否有任何方法可以检查我的XML数据是否包含我要查找的所有标记。所以我可以检查并采取适当的措施

我知道,我应该在创建XML文件时提供适当的标记。但是如果我错过了一些时间,那么我希望我的java脚本应该检查一下

我用来读取XML的部分代码

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","note.xml?"+ Math.random(),false);
xmlhttp.send();

xmlDoc=xmlhttp.responseXML;

document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
提前感谢…

我想一种方法是

var to = xmlDoc.getElementsByTagName("to")[0]
document.getElementById("to").innerHTML = to && to.childNodes.length ?  to.childNodes[0].nodeValue : '';
我认为一种方法是

var to = xmlDoc.getElementsByTagName("to")[0]
document.getElementById("to").innerHTML = to && to.childNodes.length ?  to.childNodes[0].nodeValue : '';

您缺少
onreadystatechange
功能

var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","note.xml?"+ Math.random(),false);

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          var xmlDoc = xmlhttp.responseXML;
          document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
    }
}
xmlhttp.send();

确保您没有试图从
w3s
这样的源代码学习AJAX。将MDN用于或任何JavaScript。

您缺少
onreadystatechange
功能

var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","note.xml?"+ Math.random(),false);

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          var xmlDoc = xmlhttp.responseXML;
          document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
    }
}
xmlhttp.send();

确保您没有试图从
w3s
这样的源代码学习AJAX。使用MDA或任何JavaScript。

请考虑花时间格式化代码。这并不难,它真的帮助我们很容易理解它。我这次是为你做的,但是这会对将来的习惯有帮助。抱歉…下次我会很小心的,请考虑花时间格式化你的代码。这并不难,它真的帮助我们很容易理解它。这次我是为你做的,但是养成以后提问的习惯真的很有帮助。对不起……下次我会的careful@VinayPatel我建议使用
.childrends
而不是
.childNodes
作为
。childrends
仅包括元素节点和
。childNodes
同时包括文本和元素。@VinayPatel我建议使用
.children
而不是
.childNodes
作为
。children
仅包括元素节点和
。childNodes
同时包括文本和元素。