使用Ajax将HTML表发送到服务器上的c#代码
本文关键字:服务器 代码 Ajax HTML 使用 | 更新日期: 2023-09-27 18:02:03
我有一个充满代表表的JQuery对象的数组。数组的每个索引基本上都是一个新表。我需要做的基本上是将这些表发送到使用c#的服务器上的代码。我对AJAX甚至JSON都没有太多经验。我已经得到了我的代码来调用服务器上的一个方法,它只是返回一个字符串,说它已经到达。
我如何将这些HTML表转换成JSON格式并使用AJAX将它们发送到服务器?
这是我目前所拥有的,它只是返回一个字符串来验证我到达了服务器。
这是一个表格的示例
<table>
<tr>
<th>Header</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</table>
这是我的javascript
var tables: Array<JQuery> = this.BuildTables(); // Returns the 5 tables put into an array
// Call server
$.ajax({
type: "POST",
//datatype: "JSON",
contentType: "application/json; charset=utf-8",
async: true,
url: GetHelper().GetVirtualDirectoryUrl() + "Index/GenerateExcelReport"
}).done((data) => {
console.log(data);
}).fail(function () {
console.log('Failed to send');
});
这是我的c#代码
public String CreateExcelSheet()
{
var text = "String Changed!";
return text;
}
输出,String Changed!
我如何重复这个过程,但传入那些HTML表。最好只传递tables
,因为它包含了所有这些。当它们到达服务器端代码时,我如何从方法内部读取它们?
您可以发送使用this.BuildTables()
生成的JSONvar tables: Array = this.BuildTables();//返回放入数组中的5个表
// Call server
$.ajax({
type: "POST",
data: {tables: tables},
contentType: "application/json; charset=utf-8",
async: true,
url: GetHelper().GetVirtualDirectoryUrl() + "Index/GenerateExcelReport"
}).done((data) => {
console.log(data);
}).fail(function () {
console.log('Failed to send');
});
注意data: {tables: tables},
行。这将传递数组的json表示。
另一种选择是使用
JSON.stringify(tables)