假设我在我的app.js中创建了一个变量:app.locals.language =" EN"。现在,我们有用户使用我的网站点击下拉菜单将页面语言更改为,例如,西班牙语。我怎样才能改变我的app.locals.language =" ES"什么时候调用click事件??
我在我的应用程序中使用的所有语言都是html,css,javascript,jquery,node.js&表达。提前谢谢你
答案 0 :(得分:0)
NodeJS是服务器端代码,您的点击将来自客户端。因此,您需要某种方式从客户端与服务器通信。你可以做的一种方法是在express中创建一个路由,当发布到时,改变环境变量。它看起来像这样:
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}