【问题标题】:How to prevent multiple submission in database如何防止在数据库中多次提交
【发布时间】:2014-10-17 17:35:30
【问题描述】:

我制作了一个简单的留言簿,其中有一个<textarea> 和一个提交button。 当在短时间内多次点击提交按钮时,相同的数据会多次进入数据库。如何防止这种情况发生?

代码如下:

def post(self):
    greeting = Greeting(parent=guestbook_key)


    greeting.content = self.request.get('content')
    greeting.put()
    self.redirect('/')

这是图片,所以你知道我在说什么: http://i.gyazo.com/87344b79b1eda82928385a44158d7d0b.png

【问题讨论】:

    标签: python google-app-engine textarea gql gqlquery


    【解决方案1】:

    标准方法是在单击提交按钮后立即禁用它,然后再调用服务器。然后你重新启用它 - 时间取决于你的应用程序。您可以在服务器调用成功后立即重新启用它,或者当用户返回相同的视图时(如果您在单击按钮后显示不同的视图)。

    另一种方法是在服务器响应之前禁用整个 UI(例如,在整个屏幕顶部显示一个带阴影的玻璃面板)。

    【讨论】:

      【解决方案2】:

      非常感谢!对此,我真的非常感激。 所以我设法用javascript阻止了提交按钮。

      代码如下:

      <form onsubmit="JavaScript:document.getElementById('submitbtn').disabled=true" >
      <input type="submit" id="submitbtn">
      </form>
      

      【讨论】:

        猜你喜欢
        • 2013-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 2014-06-13
        • 2023-03-22
        相关资源
        最近更新 更多