javascript - 使用 AJAX 解析从 ASP 页面返回的 HTML 表并提取特定单元格

标签 javascript asp.net html ajax

工作内网上有一个 ASP 页面,返回来自众多传感器的数据。数据以包含多行和多列的表格格式呈现。

我想如果我能在我们部门的网站上展示一些成果会很酷。

我想使用 ajax 打开 ASP 页面并从结果表中获取一些数据点。

使用 AJAX 打开页面非常简单,但我不确定之后该怎么做。

表格的格式如下:

<table>
  <tr>
    <td>Data ID 1</td>
    <td>Description</td>
    <td>Data</td>
  </tr>
  <tr>
    <td>Data ID 2</td>
    <td>Description</td>
    <td>Data</td>
  </tr>
</table>

每一行的第一个单元格是一个唯一的 ID,然后同一行的第 5 列有我想要的值。

function loadXMLDoc()
{
    var xmlhttp;

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

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("testDiv").innerHTML=xmlhttp.responseText;
        }
    }

    xmlhttp.open("GET","http://plantdata/showData.asp",true);
    xmlhttp.send();
}

如何通过唯一ID抓取数据?

最佳答案

xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    var target = document.getElementById("testDiv");
    target.innerHTML = xmlhttp.responseText;
    extractIDs(target);
  }
}

function extractIDs(container) {
  var trs = container.getElementsByTagName("TR");

  for (var i=0; i<trs.length; i++) {
    var tds = trs[i].getElementsByTagName("TD"),
        txt = tds[0].textContent || tds[0].innerText;  // innerText for IE

    alert("row " + (i+1) + ": " + txt);
  } 
};

关于javascript - 使用 AJAX 解析从 ASP 页面返回的 HTML 表并提取特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7973715/

相关文章:

asp.net - 在 ASP.NET Web 应用程序之间传递 session 数据

asp.net - ASP.NET/IIS 中使用的非标准 HTTP 动词 "DEBUG"是什么?

HTML 和 CSS 在 Retina 2800x2000 上显示错误

JavaScript 错误无效量词

javascript - 如何在 Palm WebOS 中使用 javascript 将图像转换为字节(如 .Net 中的字节数组)

c# - 机器身份验证方案 C#

javascript - D3 树和传单 map 意外干扰

html - 为每个元素平均划分一个空间

javascript - 错误: [$compile:ctreq] Controller required by directive ,找不到

javascript - 展开/折叠文本区域问题