HTML表单请求正文为空-NodeJs
我试图使用Node.js和express创建一个API帖子。我只是想用html表单发布一些数据:HTML表单请求正文为空-NodeJs,html,node.js,forms,postman,Html,Node.js,Forms,Postman,我试图使用Node.js和express创建一个API帖子。我只是想用html表单发布一些数据: <form id="myform" action="http://localhost:4000/add" method="post" enctype="application/json"> <input type="text" name="name" id="name" /> <input type="submit" id="submit" />
<form id="myform" action="http://localhost:4000/add" method="post" enctype="application/json">
<input type="text" name="name" id="name" />
<input type="submit" id="submit" />
</form>
控制台接收到的内容是:
请求:{}
尝试使用Postman-raw、JSON(application/JSON)将内容发布到同一个api中,一切正常
有人能告诉我我做的有什么问题吗?在action属性中,您不需要指定主机,只需指定路径,例如“/add”浏览器不支持将HTML表单作为应用程序/json提交。大多数浏览器可能会忽略该值,并将表单作为默认的
enctype
发送,即application/x-www-form-urlencoded。要解析它,您需要使用适当的中间件。一个这样的例子是主体解析器
模块。前面提出的问题是:如果您从同一个服务器调用(例如,如果html文件是alsoon localhost),这才是正确的。太棒了!谢谢,解决了我的问题:我刚刚添加了app.use(bodyParser.urlencoded({extended:false}))
作为我已有的json主体解析器的补充。
router.post('/add', function (req, res){
console.log("request: "+JSON.stringify(req.body));
})