如何用Ajax代码解决FLASK中的404错误?

时间:2019-02-19 21:07:58

标签: python ajax mongodb flask

所以ajax正在调用: http://127.0.0.1:5000/'+ x“ /” + y

但是我一直得到的错误是: 127.0.0.1--[19 / Feb / 2019 15:38:40]“ [33mGET /-1/0.2?_=1550608718380 HTTP / 1.1 [0m] 404-

我尽了一切努力,甚至在发布之前都对StackOverflow进行了广泛的搜索。

假设x和y的值在-1和1之间。从错误日志中可以明显看出,它正在读取数字。因此,我认为这与FLASK有关。我想做的是让flask检索那些x和y值,但我不认为它会以某种方式接收它们。

当我在jupyter笔记本中运行相同的Mongo查询时,检索该数据没有问题。因此它与Mongo毫无关系。

我在另一个项目中使用了几乎完全相同的javascript代码和flask方法,并且没有任何问题

这是我的烧瓶代码: @app.route("/<int:mn>/<int:mx>") def polarity(mn,mx): pol=tweet.aggregate([{"$match":{"polarity":{"$gte":mn,"$lte":mx}}}]); return dumps(pol) Javascript:

    $.ajax({

        cache: false,
    url:'http://127.0.0.1:5000/'+x.val()+"/"+y.val(),
    type:'get',
     dataType:"json",
    success:function(data){
    console.log(data);
        $.each(data,function(i,data){
            results.push(data);
            $('.latest-tweet').hide()
        });
        console.log(results)

    // createCards.dom(results)
} 
});

1 个答案:

答案 0 :(得分:1)

您对/<int>/<int>的值不是整数。这导致它找不到终点/<int>/<float>,因为它正在寻找@app.route("/<string:mn>/<string:mx>") def polarity(mn,mx): try: mn = float(mn) mx = float(mx) except ValueError: return Response(status=400) pol=tweet.aggregate([{"$match":{"polarity":{"$gte":mn,"$lte":mx}}}]); return dumps(pol)

将端点更改为

data.head()

这将使您处理负浮点数