在javascript中使用数据链接下载大文件时出错

在javascript中使用数据链接下载大文件时出错,javascript,jquery,json,get,Javascript,Jquery,Json,Get,我的网页有一个包含大约10000行的表格。我使用tabletoJsonnpm包将html表格数据转换为JSON对象。现在,要在一个json文件中编写这个对象并下载相同的,我将执行以下操作 HTML <a id="json_gene" href="" download="tgen_json.json"> <button id="bmss" type="button" class="btn btn-primary exscel">Download Json</but

我的网页有一个包含大约10000行的表格。我使用tabletoJsonnpm包将html表格数据转换为JSON对象。现在,要在一个json文件中编写这个对象并下载相同的,我将执行以下操作

HTML

<a id="json_gene" href="" download="tgen_json.json">
  <button id="bmss" type="button" class="btn btn-primary exscel">Download Json</button>
</a>
当表中有8000行左右的行时,就会下载json文件。但是当它超过10000行时,json文件无法下载,因为大量数据被附加到url本身,因为我认为它也有一个特定的限制

请建议此json下载的替代方案。

您可以使用api创建虚拟文件链接

$(“body”)。在(“click”、“#json_gene”,function()上{
var blobPart=[$(“#数据_表”).tableToJSON();
var blob=新blob(blobPart{
类型:“应用程序/八位字节流”
});
var urlObj=URL.createObjectURL(blob);
this.href=urlObj;

});一次查看10000条记录对用户真的有用吗?是的,它也是一个可编辑的表。因此,需要使数据可编辑并不意味着所有数据都必须可用。显示数据的典型实践是显示一个子集,例如通过分页,它允许用户优化/找到他们正在寻找的内容。我理解你的观点,我试着把它做成datatable,但问题是当分页时,只有前几行被下载,其余的行被丢失!刚刚用包含100.000.000个字符(97MB)的数据测试了这个,哇!!!!。。。。这是完美的工作。。。。非常感谢@MisirHope,非常感谢:)
$("body").on("click", "#json_gene", function () {
  var table = $('#data_table').tableToJSON();
  table = {"data": table};
  table = JSON.stringify(table)
  this.href = "data:text/plain;charset=UTF-8,"  + encodeURIComponent(table);
});