[英]Pass variables from JavaScript to Node.js
我有一个像这样的简单HTML:
<html>
<head><title></title></head>
<body>
<script>var testVariable = "Hello"</script>
<form method="post" action="/">
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
我的Node.js看起来像这样:
app.post('/', function(req, res) {
Console.log(req.body.testVariable);
});
我需要做的是在提交表单时,将testVariable
传递给Node.js函数,我正在尝试使用隐藏字段,但是仍然存在问题,即:
<input type="hidden" name="chat" value="<script>testVariable</script>">
但是可以想象,它将所有脚本作为字符串而不是变量的值传递。
有人知道该怎么做吗? 抱歉,如果这是一个愚蠢的问题,我是JavaScript和Node.js的新手,我在Google中找不到答案。
谢谢。
- - -编辑 - - -
我的表格现在看起来像这样:
<form method="post" action="/">
<input type="hidden" name="chat" id="hiddenInput" />
<script>
var input = document.getElementById('hiddenInput');
input.value = $('#conversation');
</script>
<input type="submit" name="submit" value="Submit">
</form>
在我的Node.js上,我像这样打印对象:
console.log(JSON.stringify(req.body.chat));
并显示"[object Object]"
(包括引号)。
我验证了接收到的变量是一个字符串,其中包含:
console.log(typeof req.body.chat); // prints "string"
在提交表单之前,请使用javascript定位隐藏的输入并设置值:
的HTML
<input type="hidden" name="chat" id="hiddenInput" />
JS
var input = document.getElementById('hiddenInput');
input.value = testVariable.toString();
另外,在您的Node服务器上,您需要访问req.body.chat
您想要的body
属性对应于输入元素的name
您需要使用输入name
属性。 该输入必须在form
内部,以便您可以在Node中捕获它:
<input type="hidden" name="testVariable" value="the value string">
尝试:
<form method="post" action="/">
<input type="hidden" name="testVariable" value="the value string">
<input type="submit" name="submit" value="Submit">
</form>
并且应该在节点中记录"the value string"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.