【发布时间】:2019-03-28 16:50:44
【问题描述】:
我尝试使用下面的代码导出,但如果 json 数据大小太大,它会在 Chrome 浏览器中给出错误('失败 - 网络错误')。对于小数据,它工作正常。
<script>
var items = [
{university: 'A',college: 'X',state: 'J'},
{university: 'B',college: 'Y',state: 'K'},
{university: 'C',college: 'Z',state: 'L'}
];
// Convert Object to JSON
var jsonObject = JSON.stringify(items);
var array = typeof jsonObject != 'object' ? JSON.parse(jsonObject) : jsonObject;
var csv = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
csv += line + '\r\n';
}
var uri = 'data:text/csv;charset=utf-8,' + csv;
data = encodeURI(uri);
var link = document.createElement("a");
link.href = data;
link.style = "visibility:hidden";
link.download = "xyz.csv";
link.click();
</script>
谢谢
【问题讨论】:
-
您的 JSON 文件的大小是多少?
-
尝试分块导出而不是整体导出。
-
相关? stackoverflow.com/questions/16761927/… |还发现了这个使用
Blob生成 csv 的小提琴:jsfiddle.net/5C98A/9 -
Internal Server Error不与服务器交互?我很感兴趣。能否提供错误截图? -
皮音说的。您是否在这里遗漏了一些细节?浏览器中的某些JS不会导致500错误。
标签: javascript html