【问题标题】:How do I make a POST request to flask?如何向烧瓶发出 POST 请求?
【发布时间】:2015-03-29 02:50:36
【问题描述】:

我是 Flask 的新手,我正在尝试找到一种方法来调用下面代码中的 elif 语句,而无需在运行我的应用程序时手动输入 url。换句话说,我希望能够在我的一个模板中提供一个 url,该模板将对问题(标题)发出 POST 请求。谁能给我一些见解?

@application.route('/question/<title>', methods=['GET', 'POST'])
def question(title):
    if request.method == 'GET':
        question = r.get(title+':question')
        return render_template('AnswerQuestion.html',
                           question = question)
    elif request.method == 'POST':
        submittedAnswer = request.form['submittedAnswer'];

        answer=r.get(title+':answer')

        if submittedAnswer == answer:
            return render_template('Correct.html');
        else:
            return render_template('Incorrect.html',
                                   answer = answer,
                                   submittedAnswer = submittedAnswer);

【问题讨论】:

  • 您无法提供会触发 POST 请求的 URL。您需要提交表单 (&lt;form ... action="POST"&gt;) 或使用 JavaScript。

标签: python post if-statement get flask


【解决方案1】:

看起来在POST 请求中,您正在获取表单的内容。您可以尝试创建一个其action="/question/some_title"method="post" 的表单。因此,在提交时,这将在您的烧瓶代码的elif 部分处理。 或者您可以尝试通过 JavaScript 或 jQuery 发送带有相关数据、方法和 URL 的 am ajax 请求。

【讨论】:

  • 您能否给我一个 ajax 请求示例,其中包含一个指向我的代码的 elif 部分的 URL?
  • 使用 jQuery:$.ajax({ url: '/question/some_title', method:'post', data: 'someData you might want to pass'}); 您可能想查看api.jquery.com/jquery.ajax 以更好地了解 $.ajax 的工作原理。或$.post( "/question/some_title", function( data ) { $( ".result" ).html( data ); });
  • 我是 jquery 和 JS 的新手,所以我真的不知道如何实现您的解决方案。我最终直接提供了一个类似 点击此链接的网址。非常感谢您的帮助!
猜你喜欢
  • 2014-07-23
  • 1970-01-01
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
相关资源
最近更新 更多