Chrome 浏览器是否应该重定向到Flask POST请求的URL?

mccptt67  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(101)

我的Flask应用程序的索引页面包含一个HTML表单(用于接收用户输入),该HTML表单通过POST请求将用户输入发送到另一个端点(/output),然后在那里进行处理并返回一个简单的输出。但奇怪的是,当输出返回时,它是在/output端点(url)返回的。但是,如果导航到一个新的URL代表一个GET请求,我该如何理解这一点呢?难道POST请求不应该改变浏览器中的URL吗?我还将by /output端点定义为只接受POST请求,因此我知道在这里没有GET请求在幕后进行。(我在Windows上运行Google Chrome。
Flask是否会自动返回输出 at 指定的端点,而不管你是向该端点(url)发出POST还是GET请求?如果是这样的话,那么显然不是浏览器搜索栏中的所有URL更改都表示GET请求。我只是对这一点感到困惑,因为我从来没有重定向或向/output URL发出GET请求,而且我是webdev的新手,所以非常感谢任何见解。非常感谢!!
这是一个MRE:
app.py

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/', methods=['GET'])
def index():
    return render_template('form.html')

@app.route('/output', methods=['POST'])  # Only accepts POST requests
def output():
    return 'A POST request was made; input1 = ' + request.form.get('input1')
    # The browser navigates to /output when the above is returned...how?

if __name__ == '__main__':
    app.run()

字符串
form.html:

<form action="/output" method="post">
Input 1: <input type="string" name="input1">
<input type="submit">
</form>

dfty9e19

dfty9e191#

难道POST请求不应该改变浏览器中的URL吗?
POST意味着 data 不会出现在bar中(作为URL的一部分),而不是URL根本不会改变 *。

相关问题