javascript - 如何使用将多个值传递给服务器使用 node.js 标记和访问
问题描述
我在一个简单的博客网站上工作,我想要一个输入标签将两个数据发送到后端。这包括博文的标题和博文的 ID。我已经使用猫鼬来设置数据库。如何使用输入标签传递多个值。
我试过使用
<input type="hidden" name="button" value="*any-value*" data-value="*other-value*"></input>
但是如何使用 node.js 在后端访问这些数据。我也尝试过使用 a 标签
<a href="#" name="a-button" data-value="*some-value*">Subimt</a>
但这不起作用。请帮忙。
解决方案
创建一个调用 JavaScript 函数提交的表单元素,如下所示:
<form id="form" action="javascript:void(0)">
<input id="data" type="hidden" name="button" value="*any-value*" data-value="*other-value*" />
<button type="submit">Submit</button>
</form>
然后在脚本中定义函数:
<script type="text/javascript">
function submit() {
var data = document.getElementById('data');
var value = data.value;
var dataValue = data.getAttribute('data-value');
fetch('/api/blog', {
method: 'GET',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
value,
dataValue
})
});
}
var form = document.getElementById('form');
form.addEventListener('submit', submit);
</script>
然后解析服务器上的数据以处理此问题,使用(如果您使用的是 Express):
app.get('/api/blog', (req, res) => {
const { value, dataValue } = req.body;
console.log(value, dataValue);
});
推荐阅读
- ios - IOS设备上的颤振数字键盘没有完成按钮
- javascript - 将碳日期舍入到最近的前 6 小时标记
- angular - 注销并重新登录后没有得到预期的页面。
- vb.net - 在 vb.net 中对 DataTable 中的重复行求和
- mysql - 在插入时在 mysql 中创建触发器,它比较添加行的字段
- mongodb - 通过 mongoose-double 插入数据后找不到文档
- pentaho - 基于某些条件加载水壶的 Pentaho 数据集成问题
- c++ - C++/G++ 包括来自另一个文件夹的标题
- matlab - Matlab排序矩阵取决于降序和升序两列
- javascript - 如何从 reactjs 中的 iframe 订阅在 dojo 中发布的事件