我的目标是将按钮的 ID 返回给 python 脚本,并使用它来控制脚本正在执行的操作。在尝试了整个晚上并基本上通过尝试和错误来完成之后,我对此感到有点沮丧,因为我必须监督一些简单的事情。
我试图尽可能地减少内容,但按钮总是会在request.form.get("button")
中返回一个None
,这会导致一个错误400. 因为我对 jQuery 不太坚定,所以我在那里尝试了很多,但除了 None
之外,什么也没有交付。
谁能帮帮我?
from flask import Flask, render_template_string, request
app = Flask(__name__)
@app.route('/')
def index():
return render_template_string('''
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('input').on('click', function() {
$.ajax({
url: "{{ url_for('data_post') }}",
method: "POST",
data: JSON.stringify($(this).attr("id")),
contentType: 'application/json;charset=UTF-8',
success: function(data) {
console.log(data);
}
});
});
});
</script>
</head>
<body>
<input type="submit" id="testvalue" name="button" value="button">
</body>
</html>
''')
@app.route('/data', methods=['GET', 'POST'])
def data_post():
text = request.form.get("button")
return text
if __name__ == '__main__':
app.run(debug=True)
最佳答案
将 data_post
函数更改为:
@app.route('/data', methods=['GET', 'POST'])
def data_post():
text = request.data
return text
一切都会好起来的。
关于python - Flask:通过 ajax 返回按钮的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095716/