繁体   English   中英

使用click事件更改节点app.js全局变量

[英]change node app.js global variable with click event

可以说我在app.js中创建了一个变量,如下所示:app.locals.language =“ EN”。 现在,我们有用户使用我的网站,单击了一个下拉菜单以将页面语言更改为西班牙语。 调用click事件时,如何更改我的app.locals.language =“ ES”?

我在应用程序中使用的所有语言都是html,css,javascript,jquery,node.js和express。 先感谢您

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}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM