请问我的表单的post为什么flask接收不到?

 11         <form method="POST" action="/home">
 12             <p>请留言</p>
 13         ¦   <table>
 14                 <tr>
 15                     <th>名字</th>
 16                     <td><input type="text" size="20" name="name"></td>
 17                 </tr>
 18                 <tr>
 19                     <th>留言</th>
 20                     <td><textarea rows="5" cols="40" name="comment"></textarea></td>
 21                 </tr>     
 22         ¦   </table>
 23         ¦   <p><button type="submit" onclick="alert('提交成功!')">提交</button></p> 
 24         </form>

这是我的html上的代码

2 @application.route('/home',methods=['GET','POST'])
 33 def index():
 34     '''首页'''
 35     if request.method == 'GET':
 36     ¦   greating_list = load_data()
 37     ¦   return render_template('index.html',greating_list = greating_list)
 38     if request.method == 'POST':
 39     ¦   name = request.form.get('name')
 40     ¦   comment = request.form.get('comment')
 41     ¦   create_at = datetime.now()                                                   
 42     ¦   sava_data(name, comment, create_at)

不知道为什么根本接收不到POST请求

阅读 6.7k
3 个回答

我拷贝了你的代码 运行没有问题。

你的思路出现了问题。
我把你的思路理解如下:

  1. 展示一个 url 为 /home 的主页面。
  2. 在这个主页面上,你使用 post 请求,提交了一个表单。
  3. 在主页上提交表单,而且 form 的 action,即处理 post 页面也是 /home,然后还返回到 /home 页面。

你这是在使用 html 基本功能来实现 ajax 的行为。这当然无法实现。

那么,该如何接受到 post 请求呢?

在 /home 的主页面上设计一个 form 表单,这个没有问题。那么下一步,你需要实现一个处理 post 请求的视图函数,然后 action 调用你实现的视图函数的 url,并且要实现新的 url 的视图模板,最终你发送 post 请求之后,页面会跳转到新的页面。

OK, just so so !!!

不知道你这个onclick之后它还能提交不,但是你可以打开浏览器F12, 然后查看请求里面是否有传入数据到你的接口去

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题