我是Node JS的新手,并坚持使用http GET和POST方法。我无法使用提交按钮从节点JS回调。
server.js
app.get('/admin', function(req, resp) {
session = req.session;
if (session.uniqueID != 'admin') {
resp.send('Unauthorized acess');
}
resp.sendFile('/.html', {
root: __dirname
});
});
app.post('/admin', function(req, resp) {
resp.setHeader('Content-Type', 'application/json');
e.preventDefult();
console.log('admin');
});
home.html的
<body>
<div class="loginBox">
<img src="user.png" class="user">
<h2>Docker</h2>
<form id="tableForm">
<select>
<optgroup label="Select docker commands here">
<option name="" value="0" />
<option name="table1" value="1">docker start</option>
<option name="table2" value="2">docker build</option>
<option name="table3" value="3">docker run</option>
<option name="table3" value="3">docker pull</option>
<option name="table3" value="3">docker stop</option>
</optgroup>
</select><br>
<input type="button" value="submit" /></a>
</form>
</div>
</body>
当我在点击提交按钮上选择主页下拉列表时,我想返回管理员帖子方法。
有人有想法吗?
答案 0 :(得分:0)
在服务器文件中,您没有e.preventDefult();
。因此,只需记录您的消息并添加其余代码即可。 /.html
也不是您使用的正确文件。
app.get('/admin', function(req, resp) {
session = req.session;
if (session.uniqueID != 'admin') {
resp.send('Unauthorized acess');
}
resp.sendFile('/.html', {
root: __dirname
});
});
app.post('/admin', function(req, resp) {
console.log('admin');
});
在html文件中将action="/admin" method="POST"
添加到您的表单中,在提交后,请求发送到服务器。
<body>
<div class="loginBox">
<img src="user.png" class="user">
<h2>Docker</h2>
<form action="/admin" method="POST" id="tableForm">
<select>
<optgroup label="Select docker commands here">
<option name="" value="0" />
<option name="table1" value="1">docker start</option>
<option name="table2" value="2">docker build</option>
<option name="table3" value="3">docker run</option>
<option name="table3" value="3">docker pull</option>
<option name="table3" value="3">docker stop</option>
</optgroup>
</select><br>
<input type="button" value="submit" /></a>
</form>
</div>
</body>