使用AJAX解析从ASP页面返回的HTML表并提取特定单元格
Parse an HTML Table returned from an ASP page using AJAX and Extract Specific Cells
在公司内部网上有一个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);
}
};
这当然是jQuery的工作。我可以先看看输出,然后再向您展示答案吗?答案是这样的:
$(document).ready(function () {
$.ajax({
url: "TableData.html",
type: "GET",
success: function (data) {
var tempData = $(data);
//alert(tempData.html());
tempData.find("tr td[id]").each(function (i) {
alert($(this).siblings(":nth-child(5n)").text());
});
}
});
});
遍历表的行:
var data;
var rows=document.getElementById("testDiv").getElementsByTagName('table')[0].rows;
for(var i=0; i<rows.length; ++i)
{
var cells=rows[i].cells;
if(cells[0].innerHTML == uniqueID)
{
data=cells[4].innerHTML;
break;
}
}
相关文章:
- HTML页面如何提取通过表单传递的参数
- 使用javascript从HTML网页中提取图像url
- 如何从HTML下拉菜单中提取值
- 如何每秒从一个变量中提取一定次数的javascript/html
- 更换163;使用javascript从html文本区域中提取字符
- 正则表达式,用于从html格式的字符串中提取文本
- 从HTML代码中提取数据
- 使用JavaScript或AJAX从HTML表单中提取数据,然后将其传递给PHP
- 如何在HTML源代码中提取javascript变量
- 使用'从HTML表中提取行的内容<tr onclick=alertContents()>'
- 从html标记格式的字符串中提取键值对
- jQuery-数据提取问题(html遍历)
- 用于提取 HTML 标记子元素的正则表达式
- 从导入的 HTML/JS 文件中提取变量
- 使用JavaScript从HTML字符串中提取文本
- 如何将jquery ajax数据提取为html
- 如何从html中提取javascript
- 从html文件中的js中提取链接
- 从Html中提取特定值
- Angular将所有头文件html提取到一个文件中