Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript res.sendFile发送静态文件+;对象_Javascript_Html_Node.js_Express - Fatal编程技术网

Javascript res.sendFile发送静态文件+;对象

Javascript res.sendFile发送静态文件+;对象,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我必须用express提供一个html文件,但也希望随响应一起发送一个对象。 如何发送detail.html和对象“car”,以及如何在客户端访问它 app.get('/unit/:id', function (req, res) { console.log(req.params.id) var car = {type:"Fiat", model:"500", color:"white"}; res.sendFile(__dirname + '/detail.html', car); });

我必须用express提供一个html文件,但也希望随响应一起发送一个对象。 如何发送detail.html和对象“car”,以及如何在客户端访问它

app.get('/unit/:id', function (req, res) {
console.log(req.params.id)
var car = {type:"Fiat", model:"500", color:"white"};
res.sendFile(__dirname + '/detail.html', car);
});

res.sendFile
必须设置一些特殊的标题(
Content Disposition
内容类型
配对),以便浏览器能够理解附件的提交以及基于文件类型和浏览器显示保存对话框或打开文件


您可以使用
res.json
将car对象作为json发送,并在前端检查json是否已提取,以便您可以点击第二个端点,从而触发下载

不确定您当前的设置,但您可能需要重新构建express应用程序。您需要定义一个视图引擎并使用

res.render('someview', dataObject);

使用ejs:

app.set('view engine', 'ejs');  
路线:

app.get('/', function(req, res) {  
  res.render('index', { title: 'The index page!' })
});
html:



在这种情况下,我希望避免使用模板引擎并呈现纯html。如果是这种情况,则无法对视图中的对象执行任何操作。这就是模板引擎的用途。看看这个例子:。他们基本上是在将模板发送到客户端之前构建模板。否则,您必须想出一些混合解决方案。好的,让我们假设我使用ejs引擎来呈现HTML。如何在前端接收对象?我的javascript应该是什么样子的。我不知道…编辑了我的答案。以此处为例:相关:
<div>  
    <%= title %>
</div>