Как передать данные из внешнего интерфейса javascript в backend node.js - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь проанализировать данные из файла Excel в json на внешнем интерфейсе, затем взять данные json и отправить их в какой-нибудь внутренний узел node.js для обработки и манипуляции.В идеале, бэкэнд будет возвращать статус для отображения обратно на веб-интерфейсе в случае успеха.Завершите noob, чтобы веб-интерфейс и бэкэнд JavaScriptНужно ли использовать JQuery или AJAX?вот мой код для интерфейса.

<code><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">
var input = document.getElementById ('input');input.addEventListener ('change', function () {readXlsxFile (input.files [0], {dateFormat: 'ММ / ДД / ГГ'}). then (функция (данные) {// `data` это массив строк// каждая строка является массивом ячеек.document.getElementById ('result1'). innerText = data;document.getElementById ('result2'). innerText = JSON.stringify (data, null, 2)}, (ошибка) => {console.error (ошибка)alert («Ошибка при разборе файла Excel. См. вывод консоли для трассировки стека ошибок.»)})})

1 Ответ

0 голосов
/ 26 ноября 2018

Таким образом, технически вы можете выполнить такую ​​операцию в Frontend, но это пустая трата клиентского ресурса.Когда вы пишете приложение для веб-интерфейса, вы должны подумать, как будет использоваться ваше приложение.Вы должны предположить, что клиенты будут использовать это на устройствах низкого уровня, таких как старые смартфоны.Из-за этого мы пытаемся перенести тяжелые вычисления во внутреннюю часть.

Я бы сказал, что нужно просто получить файл Excel через ваш веб-сайт, отправить его в серверную часть Node.js и обработать его там, поэтомуэтот внешний интерфейс может фокусироваться на UserExperience (UX), а внутренний - на бизнес-логике.

А если вам нужен jquery или ajax -> нет, вам не нужен ни один из них.jQuery - это библиотека, которая позволяла легко выполнять один и тот же код в разных браузерах, поскольку браузеры имели разные API (у некоторых было больше, у некоторых было меньше, не все было так унифицировано, как сейчас).В 2018 году, на мой взгляд, нет абсолютно никакой причины использовать jQuery в современных браузерах, поскольку браузеры имеют отличный API, который может делать то же самое без зависимостей).Что касается AJAX, вы можете использовать его, но, поскольку вы новичок, я бы посоветовал не делать этого.

Попробуйте создать очень простую HTML-страницу с элементом формы и вводом файлов и отправьте ее на ваш внутренний сервер Node.js.,Затем попробуйте написать сервер Node.js (я бы посоветовал не использовать готовые решения, потому что вы многому не научитесь) и преобразовать этот файл в значимую структуру данных.Затем вы можете обработать его и отправить ответ на свою страницу интерфейса.

...