Javascript:执行GET请求和解析响应
我正在编写一个MacOs小部件,它必须解释来自以下网站的巴士到达检索信息: 我必须发出Get请求并解析响应。。我尝试:Javascript:执行GET请求和解析响应,javascript,parsing,get,Javascript,Parsing,Get,我正在编写一个MacOs小部件,它必须解释来自以下网站的巴士到达检索信息: 我必须发出Get请求并解析响应。。我尝试: var xmlHttp = null; var theUrl = "http://m.gtt.to.it/m/it/arrivi.jsp?n=876"; xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET",theUrl,false); xmlHttp.send( null ); xmlDoc=xmlHttp.response
var xmlHttp = null;
var theUrl = "http://m.gtt.to.it/m/it/arrivi.jsp?n=876";
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET",theUrl,false);
xmlHttp.send( null );
xmlDoc=xmlHttp.responseXML;
但我不知道文档的结构如何导航?最好通过以下操作使您的Ajax调用异步:
xmlhttp.open("GET", theUrl, true);
这将防止你的用户干扰你网站上烦人的“封锁”期
如果这样做,则必须添加一个onreadystatechange
处理程序,以便在那里解析传入数据并显示要显示的数据
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status == 200) {
var content = xmlhttp.responseText;
//Parse your content here...
}
}
显然,您必须知道要检索哪些数据才能对其进行解析。但是,您只需分析responseText
并找到始终包含数据的元素。然后简单地从那些
标记中检索值并相应地显示它
例如,如果要在id设置为到达时间的
中检索数据,请执行以下操作:
content.getElementById('arrival-time').innerHTML;
但我不知道文档的结构如何导航
您可以走到树上,查看其中节点的注释类型和节点名称,或者手动检查XML文档以了解其结构。我认为您缺少“onreadystatechange”处理程序。它将在得到响应时被调用。然后可以执行所需的操作。如果您不知道该结构,请将响应写入控制台或向其发出警报,或附加到div/HTML元素。这是函数中的代码,我知道我需要一个处理程序。尽管它很可怕,但请求被设置为同步,因此无需监视就绪状态的更改。HTMLElementNodes没有
text
方法。我在几年前将文本更改为innerHTML()。请在评论之前刷新您的页面。:)innerHTML
也不是一种方法。非常感谢您的回复,但我无法可视化结构,有一种方法可以将xml回复存储在磁盘上?@LuigiTagliamonte您不能可视化结构是什么意思?只需分析您检索的HTML并找到包含您想要使用的值的元素。