Javascript 下载带有动态文本的html文本文件
我正在尝试在网页上创建一个链接,单击该链接后,应在客户端上下载/打开一个文本文件,其中包含我在运行时呈现的内容。在服务器端保存文件不是一个选项,因为文件的内容会根据我在网页上作为一项功能使用的用户过滤器进行更改 在my page.cshtml上,我有以下内容:Javascript 下载带有动态文本的html文本文件,javascript,c#,jquery,html,razor,Javascript,C#,Jquery,Html,Razor,我正在尝试在网页上创建一个链接,单击该链接后,应在客户端上下载/打开一个文本文件,其中包含我在运行时呈现的内容。在服务器端保存文件不是一个选项,因为文件的内容会根据我在网页上作为一项功能使用的用户过滤器进行更改 在my page.cshtml上,我有以下内容: $.ajax({ type: "GET", url: 'Home/GetTable', contentType: "application/json; ch
$.ajax({
type: "GET",
url: 'Home/GetTable',
contentType: "application/json; charset=utf-8",
dataType: 'html',
success: function (data) {
$("#tab1").append(data.toString());
},
error: function (data, errorThrown) {
alert(errorThrown);
}
});
控制器构造HTML代码并将其传递回视图。我的控制器代码如下:
public string GetTable()
{
string result = @" <tr>
<th>Column1</th>
<th>Column2</th>
<th>Link</th>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td><a download href=""file.txt"">Click me</a></td>
</tr>";
Response.AddHeader("Content-Disposition", "Attachment;filename=targetFileName.txt");
return result;
}
公共字符串GetTable()
{
字符串结果=@“
专栏1
专栏2
链接
数据1
数据2
";
AddHeader(“内容处置”、“附件;文件名=targetFileName.txt”);
返回结果;
}
我无法继续在服务器上创建文件[X].txt,因为它的内容每次都会根据用户的筛选器(我在代码中的其他位置作为逻辑)进行更改。另外,如果我一开始没有文件,在哪里输入数据作为文件的内容
解决此问题的最佳方法是什么?如果我理解正确,您需要动态生成某种文本文件并将其发送给用户。
上次我尝试这样做时,我使用PHP函数生成该文件,然后将
document.location.href
设置为该文件,并安排了一项任务,每天清理一次这些文件。我根本不想在服务器上创建文本文件。我正在寻找不涉及任何服务器端文件创建的变通方法。