2016-03-02 108 views
1

我有一個簡單的html頁面由一個node.js服務器和客戶端的快遞服務javascript我想訪問一些服務器端變量。我試着用Google搜索一個解決方案,但沒有看到一個簡單的解決方案,而沒有使用某種模板引擎。在客戶端訪問服務器變量(node.js + express)

因此,如果我需要從同一主機提供的客戶端JS訪問服務器上的變量,我需要做什麼?

+0

輸出JSON在腳本標籤文檔,或使該數據的AJAX請求。 – elclanrs

+0

就像@elclanrs說的那樣,在文檔的腳本標記之間輸出javascript,使用AJAX或 - 作爲第三個選項 - 使用socket.io進行實時通信。 –

+0

個人websockets是去這裏的方式。我討厭有一個明確的路線設置來從字面上返回一個變量。能夠在任何時候發送數據都比這些xhr呼叫容易得多。 –

回答

1

要訪問客戶機上的變量,你需要將其暴露script標籤裏面,有幾個節點模塊,可以幫助你與它(例如:表達狀態)https://www.npmjs.com/package/express-state,但你會需要一個模板引擎來生成所需的html。使用快遞時,您可以使用各種模板引擎。如果您直接使用快遞發生器,它應該帶有玉,您可以使用不同的發電機選項來使用其他模板引擎。看到這裏的快遞發生器選件http://expressjs.com/en/starter/generator.html

0

創建一個API來暴露你的變量:

app.get('/myvar', function(req, res){ 
    res.send(varYouWantToSend); 
}); 

然後在客戶端做出了http GET request該API的調用。在這個例子中API的URL是www.yoursite.com/myvar

相關問題