我有一个简单的HTML这样的:变量传给Node.js加载
<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"
将数据发布为基于输入元素的name属性命名的变量,其值由元素值属性定义。 – 2014-12-01 22:08:55