我有这个ajax请求
$(function() {
$('#left').bind('click', function() {
var form = $('form#data')[0]; //
var formData = new FormData(form);
$.ajax({
url: "{{ url_for('encode') }}",
type: 'POST',
data: formData,
async: false,
success: function (data) {
$("#img-2").attr("src", "{{url_for('static', filename='encoded.png')}}");
$("#diff").show();
},
cache: false,
contentType: false,
processData: false
});
});
});
单击按钮时会运行此烧瓶功能。
@app.route('/encode', methods=['GET', 'POST'])
def encode():
a = request.form['text']
img = request.files['files']
img.save("./static/original.png")
secret = lsb.hide(img, a)
secret.save("./static/encoded.png")
return "ok"
我遇到的问题是网页瞬间变为一秒,因为应该设置图像并显示按钮差异。但之后网页重新加载并重置到索引页面。我真的不知道如何防止这种情况发生。我做错了什么?
答案 0 :(得分:2)
盲目猜测:您的button
可能是表单的一部分,因此单击时的默认行为是提交表单并重新加载页面。您可以使用event.preventDefault()
:
$('#left').bind('click', function(event) {
event.preventDefault()
......