在Node.js Express中将变量从客户端传递到后端

时间:2018-05-23 15:01:58

标签: javascript json node.js express webstorm

我有一个Node.js Express项目,文件面向这样(WebStorm IDE):

enter image description here

我想将标记为index.js的变量传递给app.js,以便我可以在data.json结尾处写出该变量。

我还是Node.js的新手,仍然对客户端/服务器理论感到困惑。如果有一种方法可以直接从index.jsdata.json或任何其他json文件写入数据,那将会容易得多,但我认为根据之前的答案,这是不可能的。如果我错了,请纠正我。

更新

问题是使用Ajax解决的,如this回答:

中所述

在index.js中使用$.post('/email', { address: 'xxx@example.com' });发送数据,

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.post('/email', (req, res) => {
  // you have address available in req.body:
  console.log(req.body.address);
  // always send a response:
  res.json({ ok: true });
});

app.use(express.static(dir));

app.listen(4443, () => console.log('Listening on http://localhost:4443/'));

在app.js中接收数据。

1 个答案:

答案 0 :(得分:1)

你的index.js应该有一个返回变量值的函数,如下所示:

# index.js
exports.default = () => {
  return 'my data';
}

# app.js
const dataGetter = require('./public/javascripts/index.js');
const myData = dataGetter();

或者,如果您的数据是静态的,您可以在每次需要时只需要()index.js。

在node.js中,你应该在函数中声明变量,函数是Node.js生态系统的本质。