如何在Flask中将JavaScript与python事件连接起来

时间:2017-09-27 05:33:09

标签: javascript python flask

请帮助我,我有一个带有javasript的烧瓶应用程序。我需要通过post发送数据到python并调用javascript函数。但是当我尝试在烧瓶“动作”事件上首先调用JS时,我的帖子数据在调用JS函数后发送空到python。对于我的功能,我需要此功能来显示警报消息并删除文本字段!

因此,主要想法是显示警告“您的消息已被发送!”,清除文本字段并在您单击按钮时发送帖子数据!

这是代码(JS):

<form action="/sendemail" method="post">
      <input type="text" id="email" name="email" placeholder="Email" />
      <textarea name="message" id="text" placeholder="Message"></textarea>
      <button id="button" onclick="myFunc()">Send</button>
</form>

    <script>

        function myFunc() {
            alert("Your message has been sent!");
            document.getElementById("email").value = "";
            document.getElementById("text").value = "";
                    }
    </script>

的Python:

@FlaskApp2.route('/sendemail', methods=['GET', 'POST'])
def MailSend(): 

        print request.form['email']
        print request.form['message']

        return ('', 204)

在所有这些之后我都有来自post请求的空数据,我认为因为JS的执行速度比烧瓶“action”块快!

在JS按钮点击事件调用函数之前,我需要如何捕获它并发送帖子数据?

1 个答案:

答案 0 :(得分:0)

你的javascript函数myFunc是在表单提交给服务器之前执行的。因此,电子邮件和消息已经清除。

我想你可以查看这个答案: Clearing my form inputs after submission