python - Flask:通过 ajax 返回按钮的 id

标签 python ajax button flask request

我的目标是将按钮的 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/

相关文章:

python - 根据匹配列映射多个数据帧

python - 是否有任何生成 AngularJS 的 Python 库/框架?

javascript - 动态包含 javascript 文件的安全方法

php - 使用AJAX .on(click)方法提交多个HTML表单+其他变量数据

javascript - 我应该在 XMLHttpRequest 中使用什么回调函数来呈现响应?

jquery - 为什么我的 jQuery 按钮在点击时不起作用?

Android onMenuItemClick() - 检测点击了哪个菜单?

python - 在 python 单元测试运行时重置全局变量

python - 尝试使用时间戳作为位置选择 Pandas 中的数据切片

vb.net - 将两个 MsgBoxStyles 与 VB.NET 合二为一