Python Flask KeyError 400尝试在单击按钮后从文本区域检索数据时请求错误
我一直在到处寻找解决方案,并在stack overflow和其他地方检查了类似问题的最常见情况,而那些有类似问题的人没有任何答案。我不知道我错过了什么,但我无法让它发挥作用。我只想在单击按钮后从文本区域检索文本 我的htmlPython Flask KeyError 400尝试在单击按钮后从文本区域检索数据时请求错误,python,html,flask,Python,Html,Flask,我一直在到处寻找解决方案,并在stack overflow和其他地方检查了类似问题的最常见情况,而那些有类似问题的人没有任何答案。我不知道我错过了什么,但我无法让它发挥作用。我只想在单击按钮后从文本区域检索文本 我的html <form action="{{ url_for('fetch') }}" id="main_form" methods="POST"> <div class="input-g
<form action="{{ url_for('fetch') }}" id="main_form" methods="POST">
<div class="input-group">
<span class="input-group-text">Text to synthesize</span>
<textarea class="form-control" name="text"></textarea>
</div>
<div class="d-flex justify-content-center" style="padding:25px">
<input type="submit" class="btn btn-danger btn-lg" id="btnFetch" value="Synthesize into Audio">
</div>
</form>
我还尝试了text=request.form(“text”)
在下图中,您可以看到,单击按钮后,我确实得到了正确的“文本”(在地址栏中),但烧瓶侧没有看到它。
如果我删除If request.method==“POST”:
我得到:
werkzeug.exceptions.BadRequestKeyError
werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器
(或代理)发送了此服务器无法理解的请求。
KeyError:“文本”
回溯(最近一次调用上次)文件
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
2464,在调用中返回self.wsgi_应用程序(环境,启动响应)文件
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
2450,在wsgi_app response=self.handle_异常(e)文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
1867年,在handle_异常重新释放(exc_类型,exc_值,tb)文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\u compat.py”,
第39行,在重新提升值文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
2447,在wsgi_app response=self.full_dispatch_request()文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
1952年,在完整的调度请求rv=self.handle用户异常(e)文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
1821年,在handle_user_异常重新释放(exc_类型,exc_值,tb)文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\u compat.py”,
第39行,在重新提升值文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
1950年,在完整的调度请求rv=self.dispatch\u request()文件中
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\flask\app.py”,第行
1936年,在派遣请求返回中
self.view\u functionsrule.endpoint文件
“F:\FASTProjects\Licenta\TTS Web App\backend.py”,第35行,在fetch中
打印(request.form[“text”])文件
“C:\Users\vladc.conda\envs\IOT\Lib\site packages\werkzeug\datastructures.py”,
第442行,在getitem中引发异常。
BadRequestKeyError(键)werkzeug.exceptions.BadRequestKeyError:400错误
请求:浏览器(或代理)发送了一个请求,该服务器可以
我不明白。KeyError:“文本”
我只是打错了。这是
method=“POST”
而不是methods=“POST”尝试使用request.POST
而不是request.form
@M-Chen-3“AttributeError:“request”对象没有属性“POST”,就是这样。事情就是请求。方法永远不会因为某种原因发布。
@app.route('/TTS_page', methods=['GET', 'POST'])
def TTS_page():
print("You are on the worky page.")
return render_template('TTS_page.html', txt = "")
@app.route('/fetch', methods=['GET', 'POST'])
def fetch():
text = "No post request was made."
print("Button has been pressed.")
if request.method == "POST":
print("POST REQUEST MADE...")
print(request.form["text"])
text = request.form.get("text")
return render_template('TTS_page.html', txt = text)