gpt4 book ai didi

flask - 在按钮 onclick location.href 重定向中使用 Flask url_for 导致 `Method Not Allowed`

转载 作者:行者123 更新时间:2023-12-05 08:56:02 32 4
gpt4 key购买 nike

我正在构建一些基本表单的框架,但遇到了意想不到的 405 Method Not Allowed 拦截器。

基本上我在神社模板中有一些 html 看起来像...

<!--Select File Y-->
<tr>
<td>File Y</td>
<td>{{form.pathY }}</td>
<td><input type=file name=browse ></td>
<td><button onclick="window.location.href='{{ url_for( 'dataTablePage' , table='Y' ) }}';">Display Table Y</button></td>
</tr>
<tr>
<td/>
<td/>
<td/>
<td><a href="{{ url_for( 'dataTablePage' , table='Merged' ) }}">View Merged Data</a></td>
</tr>

在 DOM 中,这或多或少呈现了我对 location.href = '/DataTable/Y/' 的期望 Rough form with button

但是,当我单击该按钮时,我将出现在 405 Method Not Allowed 页面中。 405 Method Not Allowed

另一方面,当我使用 url_for 从 anchor 重定向时,重定向按预期工作。在按钮的 onclick 重定向中使用 url_for 有什么问题?

不确定这是否重要,但这是我要连接的路线...

@app.route('/DataTable/<table>/')
def dataTablePage(table) :
"""
Takes the user to the Table View corresponding to the given table parameter
"""
table == "X" :
dfTable = DataFrame( data = {"X1":[1,2,3] , "X2":[2,3,4]} )
elif table == "Y" :
dfTable = DataFrame( data = {"Y1":[1,2,3,4,5] , "Y2":[2,3,4,5,6]} )
elif table == "Merged" :
dfTable = DataFrame( data = {"M1":[1,2] , "M2":[2,3]} )
else :
redirect( url_for('error') )

return render_template( 'dataTable.html' , filePath="x.csv" , headers=dfTable.columns.values.tolist() , table=dfTable.iterrows() )

最佳答案

这实际上是您的 HTML 的问题,default "type" of button is :

The missing value default is the Submit Button state.

并且由于您没有指定按钮的类型,它只是尝试提交表单,这会导致 405 问题。

将您的按钮类型更改为 "button",它应该会按预期工作:

<button type="button" onclick="window.location.href='{{ url_for( 'dataTablePage' , table='Y' ) }}';">Display Table Y</button>

关于flask - 在按钮 onclick location.href 重定向中使用 Flask url_for 导致 `Method Not Allowed`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42871046/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com