请帮助我,我有一个带有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按钮点击事件调用函数之前,我需要如何捕获它并发送帖子数据?
答案 0 :(得分:0)
你的javascript函数myFunc是在表单提交给服务器之前执行的。因此,电子邮件和消息已经清除。
我想你可以查看这个答案: Clearing my form inputs after submission