我有一条路线可以显示来自食物API的一个食谱,如下所示:
app.get('/', function(req, res) {
if(req.query.search) {
request([someAPIendpoint], function(error, response, body) {
if(!error & response.statusCode == 200) {
let data = JSON.parse(body);
res.render('index', {data: data, query: req.query.search});
}
});
} else {
res.render('index', {query: req.query.search});
}
});
同样,它的作用是,一旦用户在我的index.ejs
文件中进行搜索,就显示一个食谱。例如。我搜索胡萝卜,它将返回一个胡萝卜食谱。
在我的index.ejs
文件中,生成的每个配方都有一个“添加到收藏夹”按钮。我想要发生的是,当我单击它时,它将获得当前的数据对象(在我的示例中是胡萝卜食谱对象),将其捆绑到“新收藏”对象中,然后将其传递回服务器以用于将其存储在“收藏夹”数组中(为简便起见)。
但是,要执行此操作,我需要访问我的JavaScript文件(index.js
)中的“数据”。我不知道我的JavaScript文件如何从该GET路由访问该“数据”对象。在我的ejs文件中,我只使用<%= data %>
。但是我的JavaScript无法理解这种语法。
我该怎么做?