Javascript 在客户端或后端生成CSV?

Javascript 在客户端或后端生成CSV?,javascript,angularjs,node.js,html,csv,Javascript,Angularjs,Node.js,Html,Csv,我正在使用angular js[客户端]和node js[用于后端]。 将内容生成为csv时,哪种方式更有效、更可取, A.编写CSV生成,在客户端[使用angular或javascript]中[从后端节点js获取后]设置字段,或 B从后端获取CSV文件作为响应 请让我知道两者的优缺点。假设选择了客户端CSV创建 优点: 选择客户端csv创建;更省力的后端 若客户端已经有数据,若后端不需要响应CSV文件,那个么它将非常有用 缺点: 若用户当时只有古老的浏览器,他就不能创建CSV文件 你的后

我正在使用angular js[客户端]和node js[用于后端]。 将内容生成为csv时,哪种方式更有效、更可取, A.编写CSV生成,在客户端[使用angular或javascript]中[从后端节点js获取后]设置字段,或 B从后端获取CSV文件作为响应


请让我知道两者的优缺点。

假设选择了客户端CSV创建

优点:

  • 选择客户端csv创建;更省力的后端
  • 若客户端已经有数据,若后端不需要响应CSV文件,那个么它将非常有用
缺点:

  • 若用户当时只有古老的浏览器,他就不能创建CSV文件
  • 你的后端会更累

因此,从技术上讲,在所有主题(关于性能等)中,开发人员都可以深入研究。这些是基本的优点和缺点。其他要求或逻辑也可以改变优点和缺点。

您是如何生成CSV的?数据来自哪里?如果您在服务器上获取数据,那么将所有逻辑保存在一个位置会更有意义,这样它就可以自包含且更易于测试。@timothyclifford与我想问的问题基本相同…:-)只要不需要支持较旧的浏览器,就可以使用客户端JS执行此操作。触发文件下载需要一个用于现代浏览器的数据URL和用于其他一切的Flash。生成CSV本身的复杂度应该没有区别,但是如果您采用客户端JS方式,可能会遇到大量数据的问题。理想情况下,您的UI应该是数据驱动的。也就是说,它应该只关心呈现数据(而不是创建数据)。我建议从服务器获取响应,然后在客户端使用这些数据。@timothyclifford robertKlep我正在使用nodejs从mysql提取数据,并将响应发送回客户端。csv的生成是使用纯javascript完成的。csvContent=“数据:文本/csv;字符集=utf-8,”;var encodedUri=encodeURI(csvContent);那么,你认为哪一个是可取的呢?