后抛500

2024-10-05 14:21:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写一个小程序。下面是代码片段。在

Javascript:

<script type="text/javascript">
function filldata()
{
    var sample = document.getElementById("filter-select").value;
    jQuery.support.cors = true;
    $.post("/test",{"filter_type":sample},function(data,status)
    {
    alert(data);
    });
}
</script>

烧瓶代码:

^{pr2}$

它给了我500 internal error
当我在调试模式下运行它时,它的意思是:

test() takes exactly one argument(zero given)

Tags: sample代码texttest程序datavartype
3条回答

您的代码:

@app.route('/test',methods=['POST'])
def test(str):
    return str

输入中应该有一个名为str的变量。 在flask中,定义route时,函数的参数表示url变量:

^{pr2}$

要检索查询字符串,可以使用request.args。如果发送的是json,则获取主体request.data或{}。在

from flask import request

@app.route('/test',methods=['POST'])
def test():
    return request.data

您需要解析Flask的request对象的参数

from flask import request

@app.route('/test',methods=['POST'])
def test():
    return request.form.get('filter_type')

有关详细信息,请参见quickstart

在Flask代码片段中,您添加了一个参数,但是只有当您将URL更改为/test/<str:str>时才会发送参数。因为这是一个POST请求,所以可以使用request.json来访问数据。在

相关问题 更多 >