【问题标题】:How to pass data from frontend javascript to backend node.js如何将数据从前端 javascript 传递到后端 node.js
【发布时间】:2018-11-26 17:26:51
【问题描述】:

我正在尝试将数据从 excel 文件解析为前端的 json,然后获取 json 数据并将其发送到某个后端 node.js 进行处理和操作。理想情况下,如果成功,后端将返回一个状态以在前端显示。完成前端和后端 javascript 的新手。我需要使用 jquery 还是 ajax?这是我的前端代码。

<html>
<head>
    <meta charset="utf-8">
    <script type="text/javascript" src="https://catamphetamine.github.io/read-excel-file/read-excel-file.min.js"></script>
</head>
<body>
    <H3>Read Excel File Client Side</H3>
    <input type="file" id="input" />
    <pre id="result1"></pre>
    <pre id="result2"></pre>
</body>
<script>
    var input = document.getElementById('input');
    input.addEventListener('change', function () {
        readXlsxFile(input.files[0], {
            dateFormat: 'MM/DD/YY'
        }).then(function (data) {
            // `data` is an array of rows
            // each row being an array of cells.
            document.getElementById('result1').innerText = data;

            document.getElementById('result2').innerText = JSON.stringify(data, null, 2)
        }, (error) => {
            console.error(error)
            alert("Error while parsing Excel file. See console output for the error stack trace.")
        })
    })
</script>
</html>

【问题讨论】:

    标签: javascript node.js excel frontend backend


    【解决方案1】:

    所以从技术上讲,你可以在前端进行这样的操作,但是这很浪费客户端资源。 在编写前端应用程序时,您必须考虑如何使用您的应用程序。您需要假设,客户将在旧智能手机等低端设备上使用它。因此,我们正试图将繁重的计算转移到后端部分。

    我要告诉你的是,只需通过您的网站接收 Excel 文件,将其发送到 Node.js 后端并在那里进行处理,这样前端就可以专注于用户体验 (UX),而后端可以专注于业务逻辑。

    至于你是否需要 jquery 或 ajax -> 不,你不需要它们。 jQuery 是一个库,它可以轻松地在一天之内在不同的浏览器上执行相同的代码,因为浏览器有不同的 API(有些有更多,有些有更少,并不是一切都像现在这样统一)。在 2018 年,我认为完全没有理由在现代浏览器中使用 jQuery,因为浏览器具有出色的 API,可以在没有依赖关系的情况下做同样的事情)。至于AJAX,你可以使用它,但由于你是初学者,我建议不要。

    尝试使用表单元素和文件输入构建超级简单的 HTML 页面,并将其发送给您的 Node.js 后端服务器。然后尝试编写 Node.js 服务器(我建议不要使用任何现成的解决方案,因为您不会学到太多东西)并将此文件转换为有意义的数据结构。然后您可以处理它并将响应发送到您的前端页面。

    【讨论】:

      猜你喜欢
      • 2020-07-08
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 1970-01-01
      • 2014-11-29
      相关资源
      最近更新 更多