2017-07-16 35 views
0

可以說我在我的app.js中創建了一個變量,如下所示:app.locals.language =「EN」。現在,我們有用戶使用我的網站,點擊下拉菜單來改變網頁語言,比如說西班牙語。如何在改變我的app.locals.language =「ES」時點擊事件被調用?更改節點app.js全局變量與點擊事件

即時通訊在我的應用程序中使用的所有語言都是html,css,javascript,jquery,node.js & express。謝謝

+0

對象對於每個API服務爲您的客戶端內容,通過語言參數... – Rayon

回答

0

NodeJS是服務器端代碼,並且您的點擊將來自客戶端。所以你需要一些從客戶端與服務器交談的方式。你可以這樣做的一種方法是創建一個明確的路由,當發佈到更改環境變量。這將是這個樣子:

app.post('/change', (req, res) => { 
    const newVar = req.body.global; 
    app.locals.language = newVar; 
    res.json({ 
    success: true 
    }); 
}); 

所以,當你POST與一個叫'global'它會改變你的語言不管是送變電路線。從客戶端,你會做這樣的事情:

<button onClick="changeGlobal('EN')">Change Global To EN</button> 
<button onClick="changeGlobal('ES')">Change Global To ES</button> 

function changeGlobal(language) { 
    fetch('/change', { 
    method: 'POST', 
    headers: {'Content-Type':'application/json'}, 
    body: JSON.stringify({global: language}) 
    }) 
    .then(res=>res.json()) 
    .then(res => console.log(res)); 
} 

你應該看到一個註銷與{success: true}

+0

謝謝!像魅力一樣工作 – cjlogrono11