我有一个简单的表单。
它发布到服务器(节点js/express(,并且在选中时有一个带有"true"值的复选框。
<form id="demo_form" action="/submit_demo" method="POST">
<input type="checkbox" id="demo_input" name="demo_input" value=true />
</form>
当我在服务器上接收数据时,我的值被引号括起来——例如">true"。
这会导致向我的api提交数据时出现问题,该api严格接受布尔值为true(无引号(。
在提交到我的api之前,我可以很容易地手动删除任何数据中的引号,但在处理很多字段时会有点痛苦。
有没有一个简单的解决方案可以在不使用字符串的情况下将布尔值从表单发送到服务器?
非常感谢任何输入:(
如果表单被张贴,并且您没有选中复选框,那么它将不会包含在有效负载中。因此,在服务器端,应该很容易识别是否检查了某些内容。
请参阅此代码笔以供参考:https://codepen.io/anon/pen/KrowNJ
<form method="POST">
<div>
<input type="text" name="message" placeholder="Enter your message...">
</div>
<div>
<input type="checkbox" id="subscribeNews" name="subscribe">
<label for="subscribeNews">Subscribe to newsletter?</label>
</div>
<div>
<button type="submit">Subscribe</button>
</div>
</form>
希望这能有所帮助!