Я пытаюсь разработать функцию загрузки файла для node.js одним нажатием кнопки.Когда я нажимаю кнопку на стороне клиента, файл загружается в папку сервера, но клиент не получает запрос на загрузку файла.Если я перехожу непосредственно к домену маршрутизации / excel, он делает то, что мне нужно, но если я перехожу из дома в / excel, он помещает файл в общую папку сервера, но больше не загружает его для клиента.Что я делаю не так?
--/routes/excel.js
var express = require('express');
var router = express.Router();
const Json2csvParser = require('json2csv').Parser;
var fs = require('fs');
const fields = ['car', 'price', 'color'];
const myCars = [{
"car": "Audi",
"price": 40000,
"color": "blue"
}, {
"car": "BMW",
"price": 35000,
"color": "black"
}, {
"car": "Porsche",
"price": 60000,
"color": "green"
}];
const json2csvParser = new Json2csvParser({
fields
});
const csv = json2csvParser.parse(myCars);
router.get('/', function(req, res, next) {
var path = './public/file' + Date.now() + '.csv';
fs.writeFile(path, csv, function(err, data) {
res.download(path); // This is what you need
});
});
module.exports = router;
--views/home.handlebars
$('#go').on("click", () => {
$.get("/excel");
});
--routes / index.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('home', {
title: 'Express'
});
});