HTMX表单POST请求可发送但无字段数据,求助原因
问题原因及解决方案
你的表单所有输入字段都缺少name属性,这是后端接收不到数据的根本原因。
表单提交时,浏览器是通过输入元素的name属性来标识提交的键值对的,id属性仅用于前端关联标签(label)或DOM选择,不会被作为表单数据的键发送给后端。没有name属性的输入字段,浏览器不会将其数据包含在POST请求的表单数据中——哪怕你用HTMX(表单里的hx-post属于HTMX属性)提交,它也遵循标准表单的提交规则,依赖name属性收集字段数据。
修改后的表单代码如下:
<form hx-post="/meme"> <label for="name">搞笑梗图名称</label> <input type="text" id="name" name="name"> <label for="rating">搞笑程度评分</label> <input type="number" id="rating" name="rating"> <button type="submit">提交!</button> </form>
给每个输入字段添加对应的name属性后,后端就能正常接收到name和rating字段的数据了。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

