如何将变量从快速路由传递到Javascript文件?

时间:2018-07-10 14:00:51

标签: javascript node.js express routes

我有一条路线可以显示来自食物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无法理解这种语法。

我该怎么做?

0 个答案:

没有答案