簡體   English   中英

Nodejs,Express如何在外部JavaScript文件中傳遞變量以進行路由和使用?

[英]Nodejs, Express How to pass variable to route and use it in external JavaScript file?

我正在使用MongoDB Express NodeJS堆棧的Web應用程序上工作,並且在其中一種路由中,我從數據庫中獲取數組,然后將其傳遞給路由。 碼:

app.get("/badges/new", function(req, res) {
    Colour.find({}, function(err, foundCoulours) {
        if(err){
            console.log("error: "+ err);
            res.redirect("back");
        } else {
            res.render("badges/new",{foundCoulours:foundCoulours})
        }
    });
});

一切都很容易完成,但此刻我有些卡住:我想使用jQuery根據服務器的結果將元素添加到頁面上。 我可以在ejs文件上使用腳本標記和內聯JS來完成此操作,而不會出現任何問題,但是我想做的是使用外部JavaScript文件,這樣我的ejs就不會像使用<script src="public/foo.js"></script> 問題:有沒有辦法在將路由傳遞到路由之后將foundCoulours傳遞到"public/foo.js"文件? 或者,也許我可以將其直接從請求路由傳遞到"public/foo.js"文件。

您可以順序加載腳本。 如下:

body
script(type='text/javascript').
      var foundCoulours= #{foundCoulours}
script(type='text/javascript', src="foo.js")

EJS

<script>
 var foundCoulours = <%= foundCoulours>
</script>
<script src="public/foo.js"></script>

解釋:在全局范圍內加載foundCoulours變量時,可以在foo.js中直接訪問它,因為它是在變量初始化之后加載的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM