Javascript 后抛500错误

Javascript 后抛500错误,javascript,python,ajax,flask,Javascript,Python,Ajax,Flask,我正在写一个小应用程序。下面是代码片段 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,statu

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

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>
@app.route('/test', methods=['POST'])
def test(str):
    return str
它给了我
500个内部错误

当我在调试模式下运行它时,它说:

test() takes exactly one argument(zero given)

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

有关代码的更多信息,请参见:

@app.route('/test',methods=['POST'])
def test(str):
    return str
输入中需要一个名为str的变量。 使用flask,定义路由时,函数的参数表示url变量:

# the url have a parameter
@app.route('/user/<id>',methods=['GET'])
    def test(id): # we get it here
        return user.fromId(id)

在Flask代码段中,您添加了一个参数,但只有将URL更改为
/test/
时,才会发送参数。由于这是一个POST请求,您可以使用
request.json

访问数据,我建议您在这种情况下使用fiddler,这样您就可以在响应中读取错误。您正在提交名为
过滤器类型为
的字段,但您的服务器端是否有同名字段?非常感谢Cybril:)非常感谢Peter:)
# the url have a parameter
@app.route('/user/<id>',methods=['GET'])
    def test(id): # we get it here
        return user.fromId(id)
from flask import request

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