【问题标题】:Python Flask app, AJAX post getting 400 BAD REQUESTPython Flask 应用程序,AJAX 发布收到 400 BAD REQUEST
【发布时间】:2016-01-30 00:56:36
【问题描述】:

我正在尝试学习如何使用 AJAX,但我不知道为什么这不起作用。

我收到一个带有 AJAX 调用的 400 BAD REQUEST,不知道为什么。

这是 ajax 调用(在 dashboard.html 中):

$('#program-select').change
(
    function()
    {
        var program = $('program-select').val();

        $.ajax({
            url: '{{ url_for('setup') }}',
            data: { program_name: program },
            type: 'POST',
            success: function(response)
            {
                $('#setup-content').html(response);
            },
            error: function(error)
            {
                console.log(error);
            }

        });
    }
)

这是视图:

@app.route('/dashboard/', methods=['GET'])
@login_required
def dashboard():
    user_id = current_user.id
current_program = program.get_current_program_by_user(user_id)
return render_template('dashboard.html', current_program=current_program)


@app.route('/setup/', methods=['POST'])
@login_required
def setup():
    program_name = request.form['program_name']
    print(program_name)
    return program_name

最初我认为这是一个问题,因为 AJAX 试图发布到不同的路线,但如果我将其重构为发布到 dashboard,它仍然无法正常工作。

我在这里做错了什么?

【问题讨论】:

  • jQuery 选择器$('program-select') 可能缺少#。 HTML中没有program-select标签。
  • @Wombatz 该死的,你是对的!现在工作。拥有第二双眼睛是值得的。谢谢!

标签: javascript jquery python ajax flask


【解决方案1】:

感谢@Wombatz,我错过了 jQuery 选择器中的 # 。现已添加并可以使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 2016-05-06
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    相关资源
    最近更新 更多