Javascript:执行GET请求并解析响应

时间:2012-01-31 08:42:51

标签: javascript parsing get

我正在编写一个MacOs小部件,必须从这样的网站解释总线到达的反向信息:

http://www.5t.torino.it/5t/it/trasporto/arrivi-fermata.jsp

我必须发出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.responseXML;

但我不知道文档的结构如何导航它?

2 个答案:

答案 0 :(得分:0)

  

但我不知道文档的结构如何导航它?

您可以遍历树并查看其中节点的注释类型和节点名称,也可以手动检查XML文档以了解结构。

答案 1 :(得分:-1)

最好通过执行以下操作使Ajax调用异步imo:

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并找到始终包含数据的元素。然后只需从这些<html>标记中检索值并相应地显示它。

例如,如果您要在<label>中检索ID设置为到达时间的数据,请执行以下操作:

content.getElementById('arrival-time').innerHTML;