I have to serve a html file with express, but also want to send an object along with the response. How can i send both - the detail.html and the object \'car\' - and how can
res.sendFile
has to set some special headers (Content-Disposition
paired with a Content-Type
) so the browser will understand that an attachment its comming and based on the file type and browser either show the save dialog or open the file
What you could do is send the car object as a json with res.json
and in the frontend check that the json was fetched so you can hit a second endpoint which will trigger the download
Not really sure about your current setup but you might want to restructure your express app a little. You need to define a view engine and use
res.render('someview', dataObject);
http://expressjs.com/en/api.html#res.render
with ejs:
app.set('view engine', 'ejs');
route:
app.get('/', function(req, res) {
res.render('index', { title: 'The index page!' })
});
html:
<div>
<%= title %>
</div>