【问题标题】:How to solve 404 error from FLASK in ajax code?如何解决 ajax 代码中 FLASK 的 404 错误?
【发布时间】:2019-02-19 21:07:57
【问题描述】:

所以 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 有关。我想做的是让烧瓶检索那些 x 和 y 值,但我认为它不会以某种方式接收它们。

当我在 jupyter notebook 中运行相同的 Mongo 查询时,检索该数据没有问题。所以它肯定与Mongo无关。

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

这是我的烧瓶代码: @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)
} 
});

【问题讨论】:

    标签: python ajax mongodb flask


    【解决方案1】:

    y = 0.2 的值不是 int。这导致它找不到终点/&lt;int&gt;/&lt;int&gt;,因为它正在寻找/&lt;int&gt;/&lt;float&gt;

    将端点更改为

    @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)
    
    

    这将允许您处理负浮点数

    【讨论】:

    • 在初始端点上用两个整数测试它,看看你得到了什么。是相同的错误还是 CORS 错误?
    • 我必须清除缓存,这就是它第一次不起作用的原因。所以现在你帮我解决了一半的问题。但另一半是它不接受负浮动。 python甚至接受负浮点数吗?它适用于 0 到 1 之间的任何值
    • 它将输入视为字符串而不是负浮点数。我会更新我的答案,向您展示解决方案
    • 不是问题 glade 它解决了问题
    猜你喜欢
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多