将table转换为JSON有许多方式,其中一种常用的是使用JQuery的Ajax方法。以下是详细的攻略:
步骤一:编写HTML文件
首先,需要编写一个HTML文件。在其中,需要一个table元素,并赋值id属性为"myData",如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Table to JSON</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<table id="myData">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>John</td>
<td>22</td>
<td>Male</td>
</tr>
<tr>
<td>2</td>
<td>Jane</td>
<td>20</td>
<td>Female</td>
</tr>
</tbody>
</table>
<script>
</script>
</body>
</html>
步骤二:创建对象数组
为了转换表格为JSON格式,需要创建一个JavaScript对象数组,并且将表格中的数据组成对象后添加到数组中。以下是示例代码:
<script>
var tableData = [];
$("#myData tbody tr").each(function(row, tr) {
tableData[row] = {
"id": $(tr).find("td:eq(0)").text(),
"name":$(tr).find("td:eq(1)").text(),
"age": $(tr).find("td:eq(2)").text(),
"gender": $(tr).find("td:eq(3)").text()
}
});
console.log(tableData);
</script>
此代码使用JQuery遍历传递的数据,将其构建为对象数组,存储在变量 tableData
中。
步骤三:JSON化数据并发送给服务器
在最后的步骤,将对象数组序列化为JSON字符串,并通过使用JQuery的Ajax方法将其传输到服务器。以下是示例代码:
<script>
var tableData = [];
$("#myData tbody tr").each(function(row, tr) {
tableData[row] = {
"id": $(tr).find("td:eq(0)").text(),
"name":$(tr).find("td:eq(1)").text(),
"age": $(tr).find("td:eq(2)").text(),
"gender": $(tr).find("td:eq(3)").text()
}
});
$.ajax({
type: "POST",
url: "process.php",
data: JSON.stringify(tableData),
contentType: "application/json",
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
}
});
</script>
此代码将数据通过POST请求发送到名为process.php
的服务器端脚本.
以下是另一个示例,在该示例中,我们使用Ajax方法将table的元素提取为JSON格式数据,并在控制台中打印结果
<script>
$(document).ready(function(){
$.ajax({
url: "data.json",
datatype:"json",
type: "get",
success: function( data ) {
var output="<table><thead><tr><th>ID</th><th>Name</th><th>Age</th><th>Gender</th></thead><tbody>";
for (var i in data.persons) {
output+="<tr><td>"
+ data.persons[i].id + "</td><td>"
+ data.persons[i].name + "</td><td>"
+ data.persons[i].age + "</td><td>"
+ data.persons[i].gender + "</td></tr>";
}
output+="</tbody></table>";
document.getElementById("placeholder").innerHTML=output;
},
error:function(){
console.log("Ajax Function can not be called");
}
});
});
</script>
在这个例子中,我们将表格数据存储在 data.json
文件中,通过Ajax方式读取该文件并将其转换为表格和JSON格式打印在控制台中.
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:通过Jquery的Ajax方法读取将table转换为Json - Python技术站