Flask:通过ajax返回按钮的id

时间:2016-03-18 23:06:29

标签: python ajax button flask request

我的目标是将按钮的ID返回到python脚本,并使用它来控制脚本正在执行的操作。在尝试了整个晚上并基本上通过尝试和错误完成它后,我对它有点沮丧,因为我必须有一些简单的东西。

我尝试尽可能减少内容,但按钮将始终返回None request.form.get("button"),这会导致错误400.因为我不坚持使用jQuery我在那里尝试了很多但除了None之外,什么都没有传递过。{/ p>

有人能帮助我吗?

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)

1 个答案:

答案 0 :(得分:4)

AppRegistry.registerComponent('MyAppName', () => MyRootComponent); 功能更改为:

data_post

一切都应该没问题。